@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Lightsail
@version 2016-11-28
@auth AWS SigV4
@endpoints 161
@hint download_for_search
@toc root(161)

@endpoint POST /
@required {staticIpName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {distributionName: str, certificateName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {diskName: str, instanceName: str, diskPath: str}
@optional {autoMounting: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {loadBalancerName: str, instanceNames: [str]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {loadBalancerName: str, certificateName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {staticIpName: str, instanceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {portInfo: PortInfo, instanceName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {targetSnapshotName: str, sourceRegion: str}
@optional {sourceSnapshotName: str, sourceResourceName: str, restoreDate: str, useLatestRestorableAutoSnapshot: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {bucketName: str, bundleId: str}
@optional {tags: [Tag], enableObjectVersioning: bool}
@returns(200) {bucket: Bucket?{resourceType: str?, accessRules: AccessRules?{getObject: str?, allowPublicOverrides: bool?}, arn: str?, bundleId: str?, createdAt: str(timestamp)?, url: str?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, name: str?, supportCode: str?, tags: [Tag]?, objectVersioning: str?, ableToUpdateBundle: bool?, readonlyAccessAccounts: [str]?, resourcesReceivingAccess: [ResourceReceivingAccess]?, state: BucketState?{code: str?, message: str?}, accessLogConfig: BucketAccessLogConfig?{enabled: bool, destination: str?, prefix: str?}}, operations: [Operation]?}

@endpoint POST /
@required {bucketName: str}
@returns(200) {accessKey: AccessKey?{accessKeyId: str?, secretAccessKey: str?, status: str?, createdAt: str(timestamp)?, lastUsed: AccessKeyLastUsed?{lastUsedDate: str(timestamp)?, region: str?, serviceName: str?}}, operations: [Operation]?}

@endpoint POST /
@required {certificateName: str, domainName: str}
@optional {subjectAlternativeNames: [str], tags: [Tag]}
@returns(200) {certificate: CertificateSummary?{certificateArn: str?, certificateName: str?, domainName: str?, certificateDetail: Certificate?{arn: str?, name: str?, domainName: str?, status: str?, serialNumber: str?, subjectAlternativeNames: [str]?, domainValidationRecords: [DomainValidationRecord]?, requestFailureReason: str?, inUseResourceCount: int?, keyAlgorithm: str?, createdAt: str(timestamp)?, issuedAt: str(timestamp)?, issuerCA: str?, notBefore: str(timestamp)?, notAfter: str(timestamp)?, eligibleToRenew: str?, renewalSummary: RenewalSummary?{domainValidationRecords: [DomainValidationRecord]?, renewalStatus: str?, renewalStatusReason: str?, updatedAt: str(timestamp)?}, revokedAt: str(timestamp)?, revocationReason: str?, tags: [Tag]?, supportCode: str?}, tags: [Tag]?}, operations: [Operation]?}

@endpoint POST /
@required {instances: [InstanceEntry]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {protocol: str, contactEndpoint: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {serviceName: str, power: str, scale: int}
@optional {tags: [Tag], publicDomainNames: map<str,[str]>, deployment: ContainerServiceDeploymentRequest, privateRegistryAccess: PrivateRegistryAccessRequest}
@returns(200) {containerService: ContainerService?{containerServiceName: str?, arn: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, power: str?, powerId: str?, state: str?, stateDetail: ContainerServiceStateDetail?{code: str?, message: str?}, scale: int?, currentDeployment: ContainerServiceDeployment?{version: int?, state: str?, containers: map<str,Container>?, publicEndpoint: ContainerServiceEndpoint?{containerName: str?, containerPort: int?, healthCheck: ContainerServiceHealthCheckConfig?}, createdAt: str(timestamp)?}, nextDeployment: ContainerServiceDeployment?{version: int?, state: str?, containers: map<str,Container>?, publicEndpoint: ContainerServiceEndpoint?{containerName: str?, containerPort: int?, healthCheck: ContainerServiceHealthCheckConfig?}, createdAt: str(timestamp)?}, isDisabled: bool?, principalArn: str?, privateDomainName: str?, publicDomainNames: map<str,[str]>?, url: str?, privateRegistryAccess: PrivateRegistryAccess?{ecrImagePullerRole: ContainerServiceECRImagePullerRole?{isActive: bool?, principalArn: str?}}}}

@endpoint POST /
@required {serviceName: str}
@optional {containers: map<str,Container>, publicEndpoint: EndpointRequest}
@returns(200) {containerService: ContainerService?{containerServiceName: str?, arn: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, power: str?, powerId: str?, state: str?, stateDetail: ContainerServiceStateDetail?{code: str?, message: str?}, scale: int?, currentDeployment: ContainerServiceDeployment?{version: int?, state: str?, containers: map<str,Container>?, publicEndpoint: ContainerServiceEndpoint?{containerName: str?, containerPort: int?, healthCheck: ContainerServiceHealthCheckConfig?}, createdAt: str(timestamp)?}, nextDeployment: ContainerServiceDeployment?{version: int?, state: str?, containers: map<str,Container>?, publicEndpoint: ContainerServiceEndpoint?{containerName: str?, containerPort: int?, healthCheck: ContainerServiceHealthCheckConfig?}, createdAt: str(timestamp)?}, isDisabled: bool?, principalArn: str?, privateDomainName: str?, publicDomainNames: map<str,[str]>?, url: str?, privateRegistryAccess: PrivateRegistryAccess?{ecrImagePullerRole: ContainerServiceECRImagePullerRole?{isActive: bool?, principalArn: str?}}}}

@endpoint POST /
@returns(200) {registryLogin: ContainerServiceRegistryLogin?{username: str?, password: str?, expiresAt: str(timestamp)?, registry: str?}}

@endpoint POST /
@required {diskName: str, availabilityZone: str, sizeInGb: int}
@optional {tags: [Tag], addOns: [AddOnRequest]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {diskName: str, availabilityZone: str, sizeInGb: int}
@optional {diskSnapshotName: str, tags: [Tag], addOns: [AddOnRequest], sourceDiskName: str, restoreDate: str, useLatestRestorableAutoSnapshot: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {diskSnapshotName: str}
@optional {diskName: str, instanceName: str, tags: [Tag]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {distributionName: str, origin: InputOrigin, defaultCacheBehavior: CacheBehavior, bundleId: str}
@optional {cacheBehaviorSettings: CacheSettings, cacheBehaviors: [CacheBehaviorPerPath], ipAddressType: str, tags: [Tag], certificateName: str, viewerMinimumTlsProtocolVersion: str}
@returns(200) {distribution: LightsailDistribution?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, alternativeDomainNames: [str]?, status: str?, isEnabled: bool?, domainName: str?, bundleId: str?, certificateName: str?, origin: Origin?{name: str?, resourceType: str?, regionName: str?, protocolPolicy: str?, responseTimeout: int?}, originPublicDNS: str?, defaultCacheBehavior: CacheBehavior?{behavior: str?}, cacheBehaviorSettings: CacheSettings?{defaultTTL: int(i64)?, minimumTTL: int(i64)?, maximumTTL: int(i64)?, allowedHTTPMethods: str?, cachedHTTPMethods: str?, forwardedCookies: CookieObject?{option: str?, cookiesAllowList: [str]?}, forwardedHeaders: HeaderObject?{option: str?, headersAllowList: [str]?}, forwardedQueryStrings: QueryStringObject?{option: bool?, queryStringsAllowList: [str]?}}, cacheBehaviors: [CacheBehaviorPerPath]?, ableToUpdateBundle: bool?, ipAddressType: str?, tags: [Tag]?, viewerMinimumTlsProtocolVersion: str?}, operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {domainName: str}
@optional {tags: [Tag]}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {domainName: str, domainEntry: DomainEntry}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {resourceName: str}
@returns(200) {resourceName: str?, status: str?, percentageComplete: int?, failureReason: str?, sessions: [Session]?}

@endpoint POST /
@required {instanceSnapshotName: str, instanceName: str}
@optional {tags: [Tag]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceNames: [str], availabilityZone: str, blueprintId: str, bundleId: str}
@optional {customImageName: str, userData: str, keyPairName: str, tags: [Tag], addOns: [AddOnRequest], ipAddressType: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceNames: [str], availabilityZone: str, bundleId: str}
@optional {attachedDiskMapping: map<str,[DiskMap]>, instanceSnapshotName: str, userData: str, keyPairName: str, tags: [Tag], addOns: [AddOnRequest], ipAddressType: str, sourceInstanceName: str, restoreDate: str, useLatestRestorableAutoSnapshot: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {keyPairName: str}
@optional {tags: [Tag]}
@returns(200) {keyPair: KeyPair?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, fingerprint: str?}, publicKeyBase64: str?, privateKeyBase64: str?, operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {loadBalancerName: str, instancePort: int}
@optional {healthCheckPath: str, certificateName: str, certificateDomainName: str, certificateAlternativeNames: [str], tags: [Tag], ipAddressType: str, tlsPolicyName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {loadBalancerName: str, certificateName: str, certificateDomainName: str}
@optional {certificateAlternativeNames: [str], tags: [Tag]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str, relationalDatabaseBlueprintId: str, relationalDatabaseBundleId: str, masterDatabaseName: str, masterUsername: str}
@optional {availabilityZone: str, masterUserPassword: str, preferredBackupWindow: str, preferredMaintenanceWindow: str, publiclyAccessible: bool, tags: [Tag]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {availabilityZone: str, publiclyAccessible: bool, relationalDatabaseSnapshotName: str, relationalDatabaseBundleId: str, sourceRelationalDatabaseName: str, restoreTime: str(timestamp), useLatestRestorableTime: bool, tags: [Tag]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str, relationalDatabaseSnapshotName: str}
@optional {tags: [Tag]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {alarmName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {resourceName: str, date: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {bucketName: str}
@optional {forceDelete: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {bucketName: str, accessKeyId: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {certificateName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {protocol: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {serviceName: str, image: str}

@endpoint POST /
@required {serviceName: str}

@endpoint POST /
@required {diskName: str}
@optional {forceDeleteAddOns: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {diskSnapshotName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@optional {distributionName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {domainName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {domainName: str, domainEntry: DomainEntry}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {instanceName: str}
@optional {forceDeleteAddOns: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceSnapshotName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {keyPairName: str}
@optional {expectedFingerprint: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {instanceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {loadBalancerName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {loadBalancerName: str, certificateName: str}
@optional {force: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {skipFinalSnapshot: bool, finalRelationalDatabaseSnapshotName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseSnapshotName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {distributionName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {diskName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {loadBalancerName: str, instanceNames: [str]}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {staticIpName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {addOnType: str, resourceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@returns(200) {publicKeyBase64: str?, privateKeyBase64: str?, createdAt: str(timestamp)?}

@endpoint POST /
@required {resourceName: str, addOnRequest: AddOnRequest}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {sourceSnapshotName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {activeNames: [str]?, nextPageToken: str?}

@endpoint POST /
@optional {alarmName: str, pageToken: str, monitoredResourceName: str}
@returns(200) {alarms: [Alarm]?, nextPageToken: str?}

@endpoint POST /
@required {resourceName: str}
@returns(200) {resourceName: str?, resourceType: str?, autoSnapshots: [AutoSnapshotDetails]?}

@endpoint POST /
@optional {includeInactive: bool, pageToken: str, appCategory: str}
@returns(200) {blueprints: [Blueprint]?, nextPageToken: str?}

@endpoint POST /
@required {bucketName: str}
@returns(200) {accessKeys: [AccessKey]?}

@endpoint POST /
@optional {includeInactive: bool}
@returns(200) {bundles: [BucketBundle]?}

@endpoint POST /
@required {bucketName: str, metricName: str, startTime: str(timestamp), endTime: str(timestamp), period: int, statistics: [str], unit: str}
@returns(200) {metricName: str?, metricData: [MetricDatapoint]?}

@endpoint POST /
@optional {bucketName: str, pageToken: str, includeConnectedResources: bool}
@returns(200) {buckets: [Bucket]?, nextPageToken: str?, accountLevelBpaSync: AccountLevelBpaSync?{status: str?, lastSyncedAt: str(timestamp)?, message: str?, bpaImpactsLightsail: bool?}}

@endpoint POST /
@optional {includeInactive: bool, pageToken: str, appCategory: str}
@returns(200) {bundles: [Bundle]?, nextPageToken: str?}

@endpoint POST /
@optional {certificateStatuses: [str], includeCertificateDetails: bool, certificateName: str, pageToken: str}
@returns(200) {certificates: [CertificateSummary]?, nextPageToken: str?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {cloudFormationStackRecords: [CloudFormationStackRecord]?, nextPageToken: str?}

@endpoint POST /
@optional {protocols: [str]}
@returns(200) {contactMethods: [ContactMethod]?}

@endpoint POST /
@returns(200) {metadata: [map<str,str>]?}

@endpoint POST /
@required {serviceName: str}
@returns(200) {containerImages: [ContainerImage]?}

@endpoint POST /
@required {serviceName: str, containerName: str}
@optional {startTime: str(timestamp), endTime: str(timestamp), filterPattern: str, pageToken: str}
@returns(200) {logEvents: [ContainerServiceLogEvent]?, nextPageToken: str?}

@endpoint POST /
@required {serviceName: str}
@returns(200) {deployments: [ContainerServiceDeployment]?}

@endpoint POST /
@required {serviceName: str, metricName: str, startTime: str(timestamp), endTime: str(timestamp), period: int, statistics: [str]}
@returns(200) {metricName: str?, metricData: [MetricDatapoint]?}

@endpoint POST /
@returns(200) {powers: [ContainerServicePower]?}

@endpoint POST /
@optional {serviceName: str}
@returns(200) {containerServices: [ContainerService]?}

@endpoint POST /
@required {resourceName: str, startTime: str(timestamp), endTime: str(timestamp)}
@returns(200) {resourcesBudgetEstimate: [ResourceBudgetEstimate]?}

@endpoint POST /
@required {diskName: str}
@returns(200) {disk: Disk?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, addOns: [AddOn]?, sizeInGb: int?, isSystemDisk: bool?, iops: int?, path: str?, state: str?, attachedTo: str?, isAttached: bool?, attachmentState: str?, gbInUse: int?, autoMountStatus: str?}}

@endpoint POST /
@required {diskSnapshotName: str}
@returns(200) {diskSnapshot: DiskSnapshot?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, sizeInGb: int?, state: str?, progress: str?, fromDiskName: str?, fromDiskArn: str?, fromInstanceName: str?, fromInstanceArn: str?, isFromAutoSnapshot: bool?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {diskSnapshots: [DiskSnapshot]?, nextPageToken: str?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {disks: [Disk]?, nextPageToken: str?}

@endpoint POST /
@returns(200) {bundles: [DistributionBundle]?}

@endpoint POST /
@optional {distributionName: str}
@returns(200) {status: str?, createTime: str(timestamp)?}

@endpoint POST /
@required {distributionName: str, metricName: str, startTime: str(timestamp), endTime: str(timestamp), period: int, unit: str, statistics: [str]}
@returns(200) {metricName: str?, metricData: [MetricDatapoint]?}

@endpoint POST /
@optional {distributionName: str, pageToken: str}
@returns(200) {distributions: [LightsailDistribution]?, nextPageToken: str?}

@endpoint POST /
@required {domainName: str}
@returns(200) {domain: Domain?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, domainEntries: [DomainEntry]?, registeredDomainDelegationInfo: RegisteredDomainDelegationInfo?{nameServersUpdateState: NameServersUpdateState?{code: str?, message: str?}, r53HostedZoneDeletionState: R53HostedZoneDeletionState?{code: str?, message: str?}}}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {domains: [Domain]?, nextPageToken: str?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {exportSnapshotRecords: [ExportSnapshotRecord]?, nextPageToken: str?}

@endpoint POST /
@required {instanceName: str}
@returns(200) {instance: Instance?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, blueprintId: str?, blueprintName: str?, bundleId: str?, addOns: [AddOn]?, isStaticIp: bool?, privateIpAddress: str?, publicIpAddress: str?, ipv6Addresses: [str]?, ipAddressType: str?, hardware: InstanceHardware?{cpuCount: int?, disks: [Disk]?, ramSizeInGb: num(f32)?}, networking: InstanceNetworking?{monthlyTransfer: MonthlyTransfer?{gbPerMonthAllocated: int?}, ports: [InstancePortInfo]?}, state: InstanceState?{code: int?, name: str?}, username: str?, sshKeyName: str?, metadataOptions: InstanceMetadataOptions?{state: str?, httpTokens: str?, httpEndpoint: str?, httpPutResponseHopLimit: int?, httpProtocolIpv6: str?}}}

@endpoint POST /
@required {instanceName: str}
@optional {protocol: str}
@returns(200) {accessDetails: InstanceAccessDetails?{certKey: str?, expiresAt: str(timestamp)?, ipAddress: str?, ipv6Addresses: [str]?, password: str?, passwordData: PasswordData?{ciphertext: str?, keyPairName: str?}, privateKey: str?, protocol: str?, instanceName: str?, username: str?, hostKeys: [HostKeyAttributes]?}}

@endpoint POST /
@required {instanceName: str, metricName: str, period: int, startTime: str(timestamp), endTime: str(timestamp), unit: str, statistics: [str]}
@returns(200) {metricName: str?, metricData: [MetricDatapoint]?}

@endpoint POST /
@required {instanceName: str}
@returns(200) {portStates: [InstancePortState]?}

@endpoint POST /
@required {instanceSnapshotName: str}
@returns(200) {instanceSnapshot: InstanceSnapshot?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, state: str?, progress: str?, fromAttachedDisks: [Disk]?, fromInstanceName: str?, fromInstanceArn: str?, fromBlueprintId: str?, fromBundleId: str?, isFromAutoSnapshot: bool?, sizeInGb: int?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {instanceSnapshots: [InstanceSnapshot]?, nextPageToken: str?}

@endpoint POST /
@required {instanceName: str}
@returns(200) {state: InstanceState?{code: int?, name: str?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {instances: [Instance]?, nextPageToken: str?}

@endpoint POST /
@required {keyPairName: str}
@returns(200) {keyPair: KeyPair?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, fingerprint: str?}}

@endpoint POST /
@optional {pageToken: str, includeDefaultKeyPair: bool}
@returns(200) {keyPairs: [KeyPair]?, nextPageToken: str?}

@endpoint POST /
@required {loadBalancerName: str}
@returns(200) {loadBalancer: LoadBalancer?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, dnsName: str?, state: str?, protocol: str?, publicPorts: [int]?, healthCheckPath: str?, instancePort: int?, instanceHealthSummary: [InstanceHealthSummary]?, tlsCertificateSummaries: [LoadBalancerTlsCertificateSummary]?, configurationOptions: map<str,str>?, ipAddressType: str?, httpsRedirectionEnabled: bool?, tlsPolicyName: str?}}

@endpoint POST /
@required {loadBalancerName: str, metricName: str, period: int, startTime: str(timestamp), endTime: str(timestamp), unit: str, statistics: [str]}
@returns(200) {metricName: str?, metricData: [MetricDatapoint]?}

@endpoint POST /
@required {loadBalancerName: str}
@returns(200) {tlsCertificates: [LoadBalancerTlsCertificate]?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {tlsPolicies: [LoadBalancerTlsPolicy]?, nextPageToken: str?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {loadBalancers: [LoadBalancer]?, nextPageToken: str?}

@endpoint POST /
@required {operationId: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {operations: [Operation]?, nextPageToken: str?}

@endpoint POST /
@required {resourceName: str}
@optional {pageToken: str}
@returns(200) {operations: [Operation]?, nextPageCount: str?, nextPageToken: str?}

@endpoint POST /
@optional {includeAvailabilityZones: bool, includeRelationalDatabaseAvailabilityZones: bool}
@returns(200) {regions: [Region]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@returns(200) {relationalDatabase: RelationalDatabase?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, relationalDatabaseBlueprintId: str?, relationalDatabaseBundleId: str?, masterDatabaseName: str?, hardware: RelationalDatabaseHardware?{cpuCount: int?, diskSizeInGb: int?, ramSizeInGb: num(f32)?}, state: str?, secondaryAvailabilityZone: str?, backupRetentionEnabled: bool?, pendingModifiedValues: PendingModifiedRelationalDatabaseValues?{masterUserPassword: str?, engineVersion: str?, backupRetentionEnabled: bool?}, engine: str?, engineVersion: str?, latestRestorableTime: str(timestamp)?, masterUsername: str?, parameterApplyStatus: str?, preferredBackupWindow: str?, preferredMaintenanceWindow: str?, publiclyAccessible: bool?, masterEndpoint: RelationalDatabaseEndpoint?{port: int?, address: str?}, pendingMaintenanceActions: [PendingMaintenanceAction]?, caCertificateIdentifier: str?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {blueprints: [RelationalDatabaseBlueprint]?, nextPageToken: str?}

@endpoint POST /
@optional {pageToken: str, includeInactive: bool}
@returns(200) {bundles: [RelationalDatabaseBundle]?, nextPageToken: str?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {durationInMinutes: int, pageToken: str}
@returns(200) {relationalDatabaseEvents: [RelationalDatabaseEvent]?, nextPageToken: str?}

@endpoint POST /
@required {relationalDatabaseName: str, logStreamName: str}
@optional {startTime: str(timestamp), endTime: str(timestamp), startFromHead: bool, pageToken: str}
@returns(200) {resourceLogEvents: [LogEvent]?, nextBackwardToken: str?, nextForwardToken: str?}

@endpoint POST /
@required {relationalDatabaseName: str}
@returns(200) {logStreams: [str]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {passwordVersion: str}
@returns(200) {masterUserPassword: str?, createdAt: str(timestamp)?}

@endpoint POST /
@required {relationalDatabaseName: str, metricName: str, period: int, startTime: str(timestamp), endTime: str(timestamp), unit: str, statistics: [str]}
@returns(200) {metricName: str?, metricData: [MetricDatapoint]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {pageToken: str}
@returns(200) {parameters: [RelationalDatabaseParameter]?, nextPageToken: str?}

@endpoint POST /
@required {relationalDatabaseSnapshotName: str}
@returns(200) {relationalDatabaseSnapshot: RelationalDatabaseSnapshot?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, engine: str?, engineVersion: str?, sizeInGb: int?, state: str?, fromRelationalDatabaseName: str?, fromRelationalDatabaseArn: str?, fromRelationalDatabaseBundleId: str?, fromRelationalDatabaseBlueprintId: str?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {relationalDatabaseSnapshots: [RelationalDatabaseSnapshot]?, nextPageToken: str?}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {relationalDatabases: [RelationalDatabase]?, nextPageToken: str?}

@endpoint POST /
@required {resourceName: str}
@optional {pageToken: str}
@returns(200) {setupHistory: [SetupHistory]?, nextPageToken: str?}

@endpoint POST /
@required {staticIpName: str}
@returns(200) {staticIp: StaticIp?{name: str?, arn: str?, supportCode: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, ipAddress: str?, attachedTo: str?, isAttached: bool?}}

@endpoint POST /
@optional {pageToken: str}
@returns(200) {staticIps: [StaticIp]?, nextPageToken: str?}

@endpoint POST /
@required {keyPairName: str, publicKeyBase64: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@returns(200) {isPeered: bool?}

@endpoint POST /
@required {portInfo: PortInfo, instanceName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {alarmName: str, metricName: str, monitoredResourceName: str, comparisonOperator: str, threshold: num(f64), evaluationPeriods: int}
@optional {datapointsToAlarm: int, treatMissingData: str, contactProtocols: [str], notificationTriggers: [str], notificationEnabled: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {portInfos: [PortInfo], instanceName: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {instanceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {serviceName: str, label: str, digest: str}
@returns(200) {containerImage: ContainerImage?{image: str?, digest: str?, createdAt: str(timestamp)?}}

@endpoint POST /
@required {staticIpName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@optional {distributionName: str}
@returns(200) {status: str?, createTime: str(timestamp)?, operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {protocol: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {resourceType: str, resourceName: str, ipAddressType: str}
@optional {acceptBundleUpdate: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {resourceName: str, bucketName: str, access: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceName: str, emailAddress: str, domainNames: [str], certificateProvider: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {resourceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {resourceName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceName: str}
@optional {force: bool}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {relationalDatabaseSnapshotName: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {resourceName: str, tags: [Tag]}
@optional {resourceArn: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {alarmName: str, state: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {resourceName: str, tagKeys: [str]}
@optional {resourceArn: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {bucketName: str}
@optional {accessRules: AccessRules, versioning: str, readonlyAccessAccounts: [str], accessLogConfig: BucketAccessLogConfig}
@returns(200) {bucket: Bucket?{resourceType: str?, accessRules: AccessRules?{getObject: str?, allowPublicOverrides: bool?}, arn: str?, bundleId: str?, createdAt: str(timestamp)?, url: str?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, name: str?, supportCode: str?, tags: [Tag]?, objectVersioning: str?, ableToUpdateBundle: bool?, readonlyAccessAccounts: [str]?, resourcesReceivingAccess: [ResourceReceivingAccess]?, state: BucketState?{code: str?, message: str?}, accessLogConfig: BucketAccessLogConfig?{enabled: bool, destination: str?, prefix: str?}}, operations: [Operation]?}

@endpoint POST /
@required {bucketName: str, bundleId: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {serviceName: str}
@optional {power: str, scale: int, isDisabled: bool, publicDomainNames: map<str,[str]>, privateRegistryAccess: PrivateRegistryAccessRequest}
@returns(200) {containerService: ContainerService?{containerServiceName: str?, arn: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, resourceType: str?, tags: [Tag]?, power: str?, powerId: str?, state: str?, stateDetail: ContainerServiceStateDetail?{code: str?, message: str?}, scale: int?, currentDeployment: ContainerServiceDeployment?{version: int?, state: str?, containers: map<str,Container>?, publicEndpoint: ContainerServiceEndpoint?{containerName: str?, containerPort: int?, healthCheck: ContainerServiceHealthCheckConfig?}, createdAt: str(timestamp)?}, nextDeployment: ContainerServiceDeployment?{version: int?, state: str?, containers: map<str,Container>?, publicEndpoint: ContainerServiceEndpoint?{containerName: str?, containerPort: int?, healthCheck: ContainerServiceHealthCheckConfig?}, createdAt: str(timestamp)?}, isDisabled: bool?, principalArn: str?, privateDomainName: str?, publicDomainNames: map<str,[str]>?, url: str?, privateRegistryAccess: PrivateRegistryAccess?{ecrImagePullerRole: ContainerServiceECRImagePullerRole?{isActive: bool?, principalArn: str?}}}}

@endpoint POST /
@required {distributionName: str}
@optional {origin: InputOrigin, defaultCacheBehavior: CacheBehavior, cacheBehaviorSettings: CacheSettings, cacheBehaviors: [CacheBehaviorPerPath], isEnabled: bool, viewerMinimumTlsProtocolVersion: str, certificateName: str, useDefaultCertificate: bool}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@optional {distributionName: str, bundleId: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {domainName: str, domainEntry: DomainEntry}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {instanceName: str}
@optional {httpTokens: str, httpEndpoint: str, httpPutResponseHopLimit: int, httpProtocolIpv6: str}
@returns(200) {operation: Operation?{id: str?, resourceName: str?, resourceType: str?, createdAt: str(timestamp)?, location: ResourceLocation?{availabilityZone: str?, regionName: str?}, isTerminal: bool?, operationDetails: str?, operationType: str?, status: str?, statusChangedAt: str(timestamp)?, errorCode: str?, errorDetails: str?}}

@endpoint POST /
@required {loadBalancerName: str, attributeName: str, attributeValue: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str}
@optional {masterUserPassword: str, rotateMasterUserPassword: bool, preferredBackupWindow: str, preferredMaintenanceWindow: str, enableBackupRetention: bool, disableBackupRetention: bool, publiclyAccessible: bool, applyImmediately: bool, caCertificateIdentifier: str, relationalDatabaseBlueprintId: str}
@returns(200) {operations: [Operation]?}

@endpoint POST /
@required {relationalDatabaseName: str, parameters: [RelationalDatabaseParameter]}
@returns(200) {operations: [Operation]?}

@end
