generated: '2026-09-17' method: derived source: smithy/amazon-lightsail-2016-11-28.json via openapi/amazon-lightsail-openapi.yml provider: Amazon Lightsail providerId: amazon-lightsail note: 'Entity graph read mechanically out of the AWS service model: every non-Request, non-Result, non-Exception structure is an entity, and every member whose target is another entity (directly, or through a list or map) is an edge. Two things about Lightsail''s model are worth knowing before integrating. First, there are no opaque ids: resources are addressed by a user-chosen NAME that is unique per Region, so the primary key is a string the caller picks and the Region is part of the identity — the arn field is present on most resources but is not what the operations take. Second, almost every mutating operation returns Operation records rather than the changed resource, so the Operation entity is the spine of the model: it is what tells you whether the thing you asked for actually happened.' identity: primary_key: name (user-chosen, unique per resource type per AWS Region) secondary: arn id_prefixes: null note: Lightsail has no prefixed opaque ids of the Stripe/Twilio kind; supportCode is an opaque value for AWS Support, not an addressable id. entity_count: 115 core_entities: - Instance - Disk - DiskSnapshot - InstanceSnapshot - Bucket - ContainerService - LoadBalancer - RelationalDatabase - Domain - DomainEntry - StaticIp - KeyPair - Certificate - Alarm - ContactMethod - Operation - Region - Bundle - Blueprint - Tag - ResourceLocation relationship_count: 126 relationships: - from: AccessKey to: AccessKeyLastUsed type: has_one via: lastUsed - from: Alarm to: ResourceLocation type: has_one via: location - from: Alarm to: MonitoredResourceInfo type: has_one via: monitoredResourceInfo - from: Alarm to: Tag type: has_many via: tags - from: AutoSnapshotDetails to: AttachedDisk type: has_many via: fromAttachedDisks - from: Bucket to: BucketAccessLogConfig type: has_one via: accessLogConfig - from: Bucket to: AccessRules type: has_one via: accessRules - from: Bucket to: BucketCorsConfig type: has_one via: cors - from: Bucket to: ResourceLocation type: has_one via: location - from: Bucket to: ResourceReceivingAccess type: has_many via: resourcesReceivingAccess - from: Bucket to: BucketState type: has_one via: state - from: Bucket to: Tag type: has_many via: tags - from: BucketCorsConfig to: BucketCorsRule type: has_many via: rules - from: CacheSettings to: CookieObject type: has_one via: forwardedCookies - from: CacheSettings to: HeaderObject type: has_one via: forwardedHeaders - from: CacheSettings to: QueryStringObject type: has_one via: forwardedQueryStrings - from: Certificate to: Domain type: belongs_to via: domainName - from: Certificate to: DomainValidationRecord type: has_many via: domainValidationRecords - from: Certificate to: RenewalSummary type: has_one via: renewalSummary - from: Certificate to: Tag type: has_many via: tags - from: CertificateSummary to: Certificate type: has_one via: certificateDetail - from: CertificateSummary to: Certificate type: belongs_to via: certificateName - from: CertificateSummary to: Domain type: belongs_to via: domainName - from: CertificateSummary to: Tag type: has_many via: tags - from: CloudFormationStackRecord to: DestinationInfo type: has_one via: destinationInfo - from: CloudFormationStackRecord to: ResourceLocation type: has_one via: location - from: CloudFormationStackRecord to: CloudFormationStackRecordSourceInfo type: has_many via: sourceInfo - from: ContactMethod to: ResourceLocation type: has_one via: location - from: ContactMethod to: Tag type: has_many via: tags - from: ContainerService to: ContainerServiceDeployment type: has_one via: currentDeployment - from: ContainerService to: ResourceLocation type: has_one via: location - from: ContainerService to: ContainerServiceDeployment type: has_one via: nextDeployment - from: ContainerService to: PrivateRegistryAccess type: has_one via: privateRegistryAccess - from: ContainerService to: ContainerServiceStateDetail type: has_one via: stateDetail - from: ContainerService to: Tag type: has_many via: tags - from: ContainerServiceDeployment to: Container type: has_many via: containers - from: ContainerServiceDeployment to: ContainerServiceEndpoint type: has_one via: publicEndpoint - from: ContainerServiceEndpoint to: Container type: belongs_to via: containerName - from: ContainerServiceEndpoint to: ContainerServiceHealthCheckConfig type: has_one via: healthCheck - from: CostEstimate to: EstimateByTime type: has_many via: resultsByTime - from: Disk to: AddOn type: has_many via: addOns - from: Disk to: ResourceLocation type: has_one via: location - from: Disk to: Tag type: has_many via: tags - from: DiskSnapshot to: ResourceLocation type: has_one via: location - from: DiskSnapshot to: Tag type: has_many via: tags - from: Domain to: DomainEntry type: has_many via: domainEntries - from: Domain to: ResourceLocation type: has_one via: location - from: Domain to: RegisteredDomainDelegationInfo type: has_one via: registeredDomainDelegationInfo - from: Domain to: Tag type: has_many via: tags - from: DomainValidationRecord to: DnsRecordCreationState type: has_one via: dnsRecordCreationState - from: DomainValidationRecord to: Domain type: belongs_to via: domainName - from: DomainValidationRecord to: ResourceRecord type: has_one via: resourceRecord - from: EstimateByTime to: TimePeriod type: has_one via: timePeriod - from: ExportSnapshotRecord to: DestinationInfo type: has_one via: destinationInfo - from: ExportSnapshotRecord to: ResourceLocation type: has_one via: location - from: ExportSnapshotRecord to: ExportSnapshotRecordSourceInfo type: has_one via: sourceInfo - from: ExportSnapshotRecordSourceInfo to: DiskSnapshotInfo type: has_one via: diskSnapshotInfo - from: ExportSnapshotRecordSourceInfo to: InstanceSnapshotInfo type: has_one via: instanceSnapshotInfo - from: InputOrigin to: Region type: belongs_to via: regionName - from: Instance to: AddOn type: has_many via: addOns - from: Instance to: Blueprint type: belongs_to via: blueprintName - from: Instance to: InstanceHardware type: has_one via: hardware - from: Instance to: ResourceLocation type: has_one via: location - from: Instance to: InstanceMetadataOptions type: has_one via: metadataOptions - from: Instance to: InstanceNetworking type: has_one via: networking - from: Instance to: InstanceState type: has_one via: state - from: Instance to: Tag type: has_many via: tags - from: InstanceAccessDetails to: HostKeyAttributes type: has_many via: hostKeys - from: InstanceAccessDetails to: Instance type: belongs_to via: instanceName - from: InstanceAccessDetails to: PasswordData type: has_one via: passwordData - from: InstanceHardware to: Disk type: has_many via: disks - from: InstanceHealthSummary to: Instance type: belongs_to via: instanceName - from: InstanceNetworking to: MonthlyTransfer type: has_one via: monthlyTransfer - from: InstanceNetworking to: InstancePortInfo type: has_many via: ports - from: InstanceSnapshot to: Disk type: has_many via: fromAttachedDisks - from: InstanceSnapshot to: ResourceLocation type: has_one via: location - from: InstanceSnapshot to: Tag type: has_many via: tags - from: InstanceSnapshotInfo to: DiskInfo type: has_many via: fromDiskInfo - from: KeyPair to: ResourceLocation type: has_one via: location - from: KeyPair to: Tag type: has_many via: tags - from: LightsailDistribution to: CacheSettings type: has_one via: cacheBehaviorSettings - from: LightsailDistribution to: CacheBehaviorPerPath type: has_many via: cacheBehaviors - from: LightsailDistribution to: Certificate type: belongs_to via: certificateName - from: LightsailDistribution to: DistributionCustomErrorResponse type: has_many via: customErrorResponses - from: LightsailDistribution to: CacheBehavior type: has_one via: defaultCacheBehavior - from: LightsailDistribution to: Domain type: belongs_to via: domainName - from: LightsailDistribution to: ResourceLocation type: has_one via: location - from: LightsailDistribution to: Origin type: has_one via: origin - from: LightsailDistribution to: Tag type: has_many via: tags - from: LoadBalancer to: InstanceHealthSummary type: has_many via: instanceHealthSummary - from: LoadBalancer to: ResourceLocation type: has_one via: location - from: LoadBalancer to: Tag type: has_many via: tags - from: LoadBalancer to: LoadBalancerTlsCertificateSummary type: has_many via: tlsCertificateSummaries - from: LoadBalancerTlsCertificate to: Domain type: belongs_to via: domainName - from: LoadBalancerTlsCertificate to: LoadBalancerTlsCertificateDomainValidationRecord type: has_many via: domainValidationRecords - from: LoadBalancerTlsCertificate to: LoadBalancer type: belongs_to via: loadBalancerName - from: LoadBalancerTlsCertificate to: ResourceLocation type: has_one via: location - from: LoadBalancerTlsCertificate to: LoadBalancerTlsCertificateRenewalSummary type: has_one via: renewalSummary - from: LoadBalancerTlsCertificate to: Tag type: has_many via: tags - from: LoadBalancerTlsCertificateDomainValidationOption to: Domain type: belongs_to via: domainName - from: LoadBalancerTlsCertificateDomainValidationRecord to: LoadBalancerTlsCertificateDnsRecordCreationState type: has_one via: dnsRecordCreationState - from: LoadBalancerTlsCertificateDomainValidationRecord to: Domain type: belongs_to via: domainName - from: LoadBalancerTlsCertificateRenewalSummary to: LoadBalancerTlsCertificateDomainValidationOption type: has_many via: domainValidationOptions - from: Operation to: ResourceLocation type: has_one via: location - from: Origin to: Region type: belongs_to via: regionName - from: PasswordData to: KeyPair type: belongs_to via: keyPairName - from: PrivateRegistryAccess to: ContainerServiceECRImagePullerRole type: has_one via: ecrImagePullerRole - from: Region to: AvailabilityZone type: has_many via: availabilityZones - from: Region to: AvailabilityZone type: has_many via: relationalDatabaseAvailabilityZones - from: RegisteredDomainDelegationInfo to: NameServersUpdateState type: has_one via: nameServersUpdateState - from: RegisteredDomainDelegationInfo to: R53HostedZoneDeletionState type: has_one via: r53HostedZoneDeletionState - from: RelationalDatabase to: RelationalDatabaseHardware type: has_one via: hardware - from: RelationalDatabase to: ResourceLocation type: has_one via: location - from: RelationalDatabase to: RelationalDatabaseEndpoint type: has_one via: masterEndpoint - from: RelationalDatabase to: PendingMaintenanceAction type: has_many via: pendingMaintenanceActions - from: RelationalDatabase to: PendingModifiedRelationalDatabaseValues type: has_one via: pendingModifiedValues - from: RelationalDatabase to: Tag type: has_many via: tags - from: RelationalDatabaseSnapshot to: ResourceLocation type: has_one via: location - from: RelationalDatabaseSnapshot to: Tag type: has_many via: tags - from: RenewalSummary to: DomainValidationRecord type: has_many via: domainValidationRecords - from: ResourceBudgetEstimate to: CostEstimate type: has_many via: costEstimates - from: ResourceLocation to: Region type: belongs_to via: regionName - from: SetupHistory to: SetupExecutionDetails type: has_many via: executionDetails - from: SetupHistory to: SetupHistoryResource type: has_one via: resource - from: SetupHistoryResource to: ResourceLocation type: has_one via: location - from: StaticIp to: ResourceLocation type: has_one via: location