mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-15 17:11:30 +00:00
docs: publish only the AWS operations Spinifex serves
The coverage pages led with a percentage and an "x of y" count, and every table listed the modelled operations Spinifex does not implement, which reads as a scorecard against AWS rather than a statement of what the platform serves. A published page now opens with the operation count alone, tables the operations the gateway serves, and carries a separate not-applicable table with each reason inline instead of footnotes. The unimplemented operations and the counts move to docs/coverage/internal-report.md, which no docs-site slug points at. A service with no implemented operations has no publishable page.
This commit is contained in:
@@ -4,6 +4,8 @@ This directory contains the Spinifex documentation. This is available in individ
|
||||
|
||||
The [AWS API coverage](coverage/README.md) pages are generated from Spinifex's dispatch tables and the pinned AWS API models, one page per service. Run `make aws-model-coverage` to regenerate them and print a summary. Only `pages.json` and the `intro.md` files under `coverage/` are hand-written; every `README.md` there is generated and will be overwritten.
|
||||
|
||||
A published page names the operations Spinifex serves and the ones the platform will never serve, with the reason for each. It carries no percentage and no unimplemented operation: the same run writes those to [`coverage/internal-report.md`](coverage/internal-report.md), which no slug in the docs site's configuration points at, so it stays internal.
|
||||
|
||||
## Frontmatter
|
||||
|
||||
Each published page lives at `<category>/<slug>/README.md` and carries YAML frontmatter that the docs site turns into page metadata. Three fields have length rules, because search engines flag a title tag or meta description that falls outside them:
|
||||
|
||||
+13
-13
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "AWS API Coverage"
|
||||
seoTitle: "Which AWS API Operations Spinifex Implements — Spinifex Docs"
|
||||
description: "Operation-level coverage of every AWS API Spinifex serves, generated from its gateway dispatch tables and the pinned AWS SDK service models on each build."
|
||||
description: "The AWS API operations Spinifex serves, generated from its gateway dispatch tables and the pinned AWS SDK service models on each build, service by service."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -17,16 +17,16 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex serves the AWS APIs below. Every page counts the operations in the pinned `aws-sdk-go v1.55.8` `api-2.json` model for its service and reports, operation by operation, whether Spinifex implements it.
|
||||
Spinifex serves the AWS APIs below. Every page names the operations Spinifex implements from the pinned `aws-sdk-go v1.55.8` `api-2.json` model for its service, alongside those the platform does not offer and why.
|
||||
|
||||
| Service | Implemented | Modelled | Coverage |
|
||||
|---|---:|---:|---:|
|
||||
| [ACM](/coverage/acm) | 9 | 15 | 60.0% |
|
||||
| [EC2](/coverage/ec2) | 125 | 625 | 20.0% |
|
||||
| [ECR](/coverage/ecr) | 19 | 47 | 40.4% |
|
||||
| [ECS](/coverage/ecs) | 31 | 56 | 55.4% |
|
||||
| [EKS](/coverage/eks) | 34 | 56 | 60.7% |
|
||||
| [ELBv2](/coverage/elbv2) | 34 | 46 | 73.9% |
|
||||
| [IAM](/coverage/iam) | 75 | 159 | 47.2% |
|
||||
| [RDS](/coverage/rds) | 26 | 162 | 16.0% |
|
||||
| [STS](/coverage/sts) | 5 | 8 | 62.5% |
|
||||
| Service | Operations |
|
||||
|---|---:|
|
||||
| [ACM](/coverage/acm) | 9 |
|
||||
| [EC2](/coverage/ec2) | 125 |
|
||||
| [ECR](/coverage/ecr) | 19 |
|
||||
| [ECS](/coverage/ecs) | 31 |
|
||||
| [EKS](/coverage/eks) | 34 |
|
||||
| [ELBv2](/coverage/elbv2) | 34 |
|
||||
| [IAM](/coverage/iam) | 75 |
|
||||
| [RDS](/coverage/rds) | 26 |
|
||||
| [STS](/coverage/sts) | 5 |
|
||||
|
||||
+13
-19
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "ACM API Coverage"
|
||||
seoTitle: "AWS Certificate Manager API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the AWS Certificate Manager API model and whether Spinifex implements it, generated from the gateway dispatch tables on each build."
|
||||
description: "The AWS Certificate Manager API operations Spinifex implements, generated from the gateway dispatch tables on each build, with those it does not offer and why."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,7 +18,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **9 of the 15** operations (**60.0%**) in the ACM `2015-12-08` API model.
|
||||
Spinifex implements **9 operations** in the ACM `2015-12-08` API model.
|
||||
|
||||
### Import and issuance
|
||||
|
||||
@@ -30,20 +30,14 @@ Terraform's canonical certificate, DNS record and validation flow works unmodifi
|
||||
|
||||
### Operations
|
||||
|
||||
| Operation | Status |
|
||||
|---|---|
|
||||
| `AddTagsToCertificate` | ✅ Implemented |
|
||||
| `DeleteCertificate` | ✅ Implemented |
|
||||
| `DescribeCertificate` | ✅ Implemented |
|
||||
| `ExportCertificate` | ❌ Not implemented |
|
||||
| `GetAccountConfiguration` | ❌ Not implemented |
|
||||
| `GetCertificate` | ✅ Implemented |
|
||||
| `ImportCertificate` | ✅ Implemented |
|
||||
| `ListCertificates` | ✅ Implemented |
|
||||
| `ListTagsForCertificate` | ✅ Implemented |
|
||||
| `PutAccountConfiguration` | ❌ Not implemented |
|
||||
| `RemoveTagsFromCertificate` | ✅ Implemented |
|
||||
| `RenewCertificate` | ❌ Not implemented |
|
||||
| `RequestCertificate` | ✅ Implemented |
|
||||
| `ResendValidationEmail` | ❌ Not implemented |
|
||||
| `UpdateCertificateOptions` | ❌ Not implemented |
|
||||
| Operation |
|
||||
|---|
|
||||
| `AddTagsToCertificate` |
|
||||
| `DeleteCertificate` |
|
||||
| `DescribeCertificate` |
|
||||
| `GetCertificate` |
|
||||
| `ImportCertificate` |
|
||||
| `ListCertificates` |
|
||||
| `ListTagsForCertificate` |
|
||||
| `RemoveTagsFromCertificate` |
|
||||
| `RequestCertificate` |
|
||||
|
||||
+136
-632
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "EC2 API Coverage"
|
||||
seoTitle: "Amazon EC2 API Coverage on Spinifex — Spinifex Docs"
|
||||
description: "Every operation in the Amazon EC2 API model and whether Spinifex implements it, covering instances, EBS volumes, VPC networking, tags and security groups."
|
||||
description: "The Amazon EC2 API operations Spinifex implements, covering instances, EBS volumes, VPC networking, tags and security groups, with those it does not offer."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,7 +18,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **125 of the 625** operations (**20.0%**) in the EC2 `2016-11-15` API model.
|
||||
Spinifex implements **125 operations** in the EC2 `2016-11-15` API model.
|
||||
|
||||
### Spot Instances Are a Mock
|
||||
|
||||
@@ -26,634 +26,138 @@ Spot Instance Requests are a mock over the on-demand `RunInstances` path. A requ
|
||||
|
||||
### Operations
|
||||
|
||||
| Operation | Status |
|
||||
| Operation |
|
||||
|---|
|
||||
| `AllocateAddress` |
|
||||
| `AssociateAddress` |
|
||||
| `AssociateIamInstanceProfile` |
|
||||
| `AssociateRouteTable` |
|
||||
| `AttachInternetGateway` |
|
||||
| `AttachNetworkInterface` |
|
||||
| `AttachVolume` |
|
||||
| `AuthorizeSecurityGroupEgress` |
|
||||
| `AuthorizeSecurityGroupIngress` |
|
||||
| `CancelCapacityReservation` |
|
||||
| `CancelSpotInstanceRequests` |
|
||||
| `CopyImage` |
|
||||
| `CopySnapshot` |
|
||||
| `CreateCapacityReservation` |
|
||||
| `CreateEgressOnlyInternetGateway` |
|
||||
| `CreateImage` |
|
||||
| `CreateInternetGateway` |
|
||||
| `CreateKeyPair` |
|
||||
| `CreateLaunchTemplate` |
|
||||
| `CreateLaunchTemplateVersion` |
|
||||
| `CreateNatGateway` |
|
||||
| `CreateNetworkInterface` |
|
||||
| `CreatePlacementGroup` |
|
||||
| `CreateRoute` |
|
||||
| `CreateRouteTable` |
|
||||
| `CreateSecurityGroup` |
|
||||
| `CreateSnapshot` |
|
||||
| `CreateSubnet` |
|
||||
| `CreateTags` |
|
||||
| `CreateVolume` |
|
||||
| `CreateVpc` |
|
||||
| `DeleteEgressOnlyInternetGateway` |
|
||||
| `DeleteInternetGateway` |
|
||||
| `DeleteKeyPair` |
|
||||
| `DeleteLaunchTemplate` |
|
||||
| `DeleteLaunchTemplateVersions` |
|
||||
| `DeleteNatGateway` |
|
||||
| `DeleteNetworkInterface` |
|
||||
| `DeletePlacementGroup` |
|
||||
| `DeleteRoute` |
|
||||
| `DeleteRouteTable` |
|
||||
| `DeleteSecurityGroup` |
|
||||
| `DeleteSnapshot` |
|
||||
| `DeleteSubnet` |
|
||||
| `DeleteTags` |
|
||||
| `DeleteVolume` |
|
||||
| `DeleteVpc` |
|
||||
| `DeregisterImage` |
|
||||
| `DescribeAccountAttributes` |
|
||||
| `DescribeAddresses` |
|
||||
| `DescribeAddressesAttribute` |
|
||||
| `DescribeAvailabilityZones` |
|
||||
| `DescribeCapacityReservations` |
|
||||
| `DescribeEgressOnlyInternetGateways` |
|
||||
| `DescribeIamInstanceProfileAssociations` |
|
||||
| `DescribeImageAttribute` |
|
||||
| `DescribeImages` |
|
||||
| `DescribeInstanceAttribute` |
|
||||
| `DescribeInstanceCreditSpecifications` |
|
||||
| `DescribeInstanceStatus` |
|
||||
| `DescribeInstanceTypeOfferings` |
|
||||
| `DescribeInstanceTypes` |
|
||||
| `DescribeInstances` |
|
||||
| `DescribeInternetGateways` |
|
||||
| `DescribeKeyPairs` |
|
||||
| `DescribeLaunchTemplateVersions` |
|
||||
| `DescribeLaunchTemplates` |
|
||||
| `DescribeNatGateways` |
|
||||
| `DescribeNetworkInterfaces` |
|
||||
| `DescribePlacementGroups` |
|
||||
| `DescribeRegions` |
|
||||
| `DescribeRouteTables` |
|
||||
| `DescribeSecurityGroupRules` |
|
||||
| `DescribeSecurityGroups` |
|
||||
| `DescribeSnapshots` |
|
||||
| `DescribeSpotInstanceRequests` |
|
||||
| `DescribeSubnets` |
|
||||
| `DescribeTags` |
|
||||
| `DescribeVolumeStatus` |
|
||||
| `DescribeVolumes` |
|
||||
| `DescribeVolumesModifications` |
|
||||
| `DescribeVpcAttribute` |
|
||||
| `DescribeVpcs` |
|
||||
| `DetachInternetGateway` |
|
||||
| `DetachNetworkInterface` |
|
||||
| `DetachVolume` |
|
||||
| `DisableEbsEncryptionByDefault` |
|
||||
| `DisableSerialConsoleAccess` |
|
||||
| `DisassociateAddress` |
|
||||
| `DisassociateIamInstanceProfile` |
|
||||
| `DisassociateRouteTable` |
|
||||
| `EnableEbsEncryptionByDefault` |
|
||||
| `EnableSerialConsoleAccess` |
|
||||
| `GetConsoleOutput` |
|
||||
| `GetEbsEncryptionByDefault` |
|
||||
| `GetPasswordData` |
|
||||
| `GetSecurityGroupsForVpc` |
|
||||
| `GetSerialConsoleAccessStatus` |
|
||||
| `ImportKeyPair` |
|
||||
| `ModifyImageAttribute` |
|
||||
| `ModifyInstanceAttribute` |
|
||||
| `ModifyInstanceMetadataOptions` |
|
||||
| `ModifyLaunchTemplate` |
|
||||
| `ModifyNetworkInterfaceAttribute` |
|
||||
| `ModifySubnetAttribute` |
|
||||
| `ModifyVolume` |
|
||||
| `ModifyVpcAttribute` |
|
||||
| `MonitorInstances` |
|
||||
| `RebootInstances` |
|
||||
| `RegisterImage` |
|
||||
| `ReleaseAddress` |
|
||||
| `ReplaceIamInstanceProfileAssociation` |
|
||||
| `ReplaceRoute` |
|
||||
| `ReplaceRouteTableAssociation` |
|
||||
| `RequestSpotInstances` |
|
||||
| `ResetImageAttribute` |
|
||||
| `RevokeSecurityGroupEgress` |
|
||||
| `RevokeSecurityGroupIngress` |
|
||||
| `RunInstances` |
|
||||
| `StartInstances` |
|
||||
| `StopInstances` |
|
||||
| `TerminateInstances` |
|
||||
| `UnmonitorInstances` |
|
||||
| `UpdateSecurityGroupRuleDescriptionsEgress` |
|
||||
| `UpdateSecurityGroupRuleDescriptionsIngress` |
|
||||
|
||||
### Not applicable
|
||||
|
||||
These operations describe AWS-hosted features this platform does not offer.
|
||||
|
||||
| Operation | Reason |
|
||||
|---|---|
|
||||
| `AcceptAddressTransfer` | ❌ Not implemented |
|
||||
| `AcceptReservedInstancesExchangeQuote` | ❌ Not implemented |
|
||||
| `AcceptTransitGatewayMulticastDomainAssociations` | ❌ Not implemented |
|
||||
| `AcceptTransitGatewayPeeringAttachment` | ❌ Not implemented |
|
||||
| `AcceptTransitGatewayVpcAttachment` | ❌ Not implemented |
|
||||
| `AcceptVpcEndpointConnections` | ❌ Not implemented |
|
||||
| `AcceptVpcPeeringConnection` | ❌ Not implemented |
|
||||
| `AdvertiseByoipCidr` | ❌ Not implemented |
|
||||
| `AllocateAddress` | ✅ Implemented |
|
||||
| `AllocateHosts` | ❌ Not implemented |
|
||||
| `AllocateIpamPoolCidr` | ❌ Not implemented |
|
||||
| `ApplySecurityGroupsToClientVpnTargetNetwork` | ❌ Not implemented |
|
||||
| `AssignIpv6Addresses` | ❌ Not implemented |
|
||||
| `AssignPrivateIpAddresses` | ❌ Not implemented |
|
||||
| `AssignPrivateNatGatewayAddress` | ❌ Not implemented |
|
||||
| `AssociateAddress` | ✅ Implemented |
|
||||
| `AssociateClientVpnTargetNetwork` | ❌ Not implemented |
|
||||
| `AssociateDhcpOptions` | ❌ Not implemented |
|
||||
| `AssociateEnclaveCertificateIamRole` | ❌ Not implemented |
|
||||
| `AssociateIamInstanceProfile` | ✅ Implemented |
|
||||
| `AssociateInstanceEventWindow` | ❌ Not implemented |
|
||||
| `AssociateIpamByoasn` | ❌ Not implemented |
|
||||
| `AssociateIpamResourceDiscovery` | ❌ Not implemented |
|
||||
| `AssociateNatGatewayAddress` | ❌ Not implemented |
|
||||
| `AssociateRouteTable` | ✅ Implemented |
|
||||
| `AssociateSubnetCidrBlock` | ❌ Not implemented |
|
||||
| `AssociateTransitGatewayMulticastDomain` | ❌ Not implemented |
|
||||
| `AssociateTransitGatewayPolicyTable` | ❌ Not implemented |
|
||||
| `AssociateTransitGatewayRouteTable` | ❌ Not implemented |
|
||||
| `AssociateTrunkInterface` | ❌ Not implemented |
|
||||
| `AssociateVpcCidrBlock` | ❌ Not implemented |
|
||||
| `AttachClassicLinkVpc` | ❌ Not implemented |
|
||||
| `AttachInternetGateway` | ✅ Implemented |
|
||||
| `AttachNetworkInterface` | ✅ Implemented |
|
||||
| `AttachVerifiedAccessTrustProvider` | ❌ Not implemented |
|
||||
| `AttachVolume` | ✅ Implemented |
|
||||
| `AttachVpnGateway` | ❌ Not implemented |
|
||||
| `AuthorizeClientVpnIngress` | ❌ Not implemented |
|
||||
| `AuthorizeSecurityGroupEgress` | ✅ Implemented |
|
||||
| `AuthorizeSecurityGroupIngress` | ✅ Implemented |
|
||||
| `BundleInstance` | ❌ Not implemented |
|
||||
| `CancelBundleTask` | ❌ Not implemented |
|
||||
| `CancelCapacityReservation` | ✅ Implemented |
|
||||
| `CancelCapacityReservationFleets` | ❌ Not implemented |
|
||||
| `CancelConversionTask` | ❌ Not implemented |
|
||||
| `CancelExportTask` | ❌ Not implemented |
|
||||
| `CancelImageLaunchPermission` | ❌ Not implemented |
|
||||
| `CancelImportTask` | ❌ Not implemented |
|
||||
| `CancelReservedInstancesListing` | ❌ Not implemented |
|
||||
| `CancelSpotFleetRequests` | ❌ Not implemented |
|
||||
| `CancelSpotInstanceRequests` | ✅ Implemented |
|
||||
| `ConfirmProductInstance` | ❌ Not implemented |
|
||||
| `CopyFpgaImage` | ❌ Not implemented |
|
||||
| `CopyImage` | ✅ Implemented |
|
||||
| `CopySnapshot` | ✅ Implemented |
|
||||
| `CreateCapacityReservation` | ✅ Implemented |
|
||||
| `CreateCapacityReservationFleet` | ❌ Not implemented |
|
||||
| `CreateCarrierGateway` | ❌ Not implemented |
|
||||
| `CreateClientVpnEndpoint` | ❌ Not implemented |
|
||||
| `CreateClientVpnRoute` | ❌ Not implemented |
|
||||
| `CreateCoipCidr` | ❌ Not implemented |
|
||||
| `CreateCoipPool` | ❌ Not implemented |
|
||||
| `CreateCustomerGateway` | ❌ Not implemented |
|
||||
| `CreateDefaultSubnet` | ❌ Not implemented |
|
||||
| `CreateDefaultVpc` | ❌ Not implemented |
|
||||
| `CreateDhcpOptions` | ❌ Not implemented |
|
||||
| `CreateEgressOnlyInternetGateway` | ✅ Implemented |
|
||||
| `CreateFleet` | ❌ Not implemented |
|
||||
| `CreateFlowLogs` | ❌ Not implemented |
|
||||
| `CreateFpgaImage` | ❌ Not implemented |
|
||||
| `CreateImage` | ✅ Implemented |
|
||||
| `CreateInstanceConnectEndpoint` | ❌ Not implemented |
|
||||
| `CreateInstanceEventWindow` | ❌ Not implemented |
|
||||
| `CreateInstanceExportTask` | ❌ Not implemented |
|
||||
| `CreateInternetGateway` | ✅ Implemented |
|
||||
| `CreateIpam` | ❌ Not implemented |
|
||||
| `CreateIpamExternalResourceVerificationToken` | ❌ Not implemented |
|
||||
| `CreateIpamPool` | ❌ Not implemented |
|
||||
| `CreateIpamResourceDiscovery` | ❌ Not implemented |
|
||||
| `CreateIpamScope` | ❌ Not implemented |
|
||||
| `CreateKeyPair` | ✅ Implemented |
|
||||
| `CreateLaunchTemplate` | ✅ Implemented |
|
||||
| `CreateLaunchTemplateVersion` | ✅ Implemented |
|
||||
| `CreateLocalGatewayRoute` | ❌ Not implemented |
|
||||
| `CreateLocalGatewayRouteTable` | ❌ Not implemented |
|
||||
| `CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation` | ❌ Not implemented |
|
||||
| `CreateLocalGatewayRouteTableVpcAssociation` | ❌ Not implemented |
|
||||
| `CreateManagedPrefixList` | ❌ Not implemented |
|
||||
| `CreateNatGateway` | ✅ Implemented |
|
||||
| `CreateNetworkAcl` | ❌ Not implemented |
|
||||
| `CreateNetworkAclEntry` | ❌ Not implemented |
|
||||
| `CreateNetworkInsightsAccessScope` | ❌ Not implemented |
|
||||
| `CreateNetworkInsightsPath` | ❌ Not implemented |
|
||||
| `CreateNetworkInterface` | ✅ Implemented |
|
||||
| `CreateNetworkInterfacePermission` | ❌ Not implemented |
|
||||
| `CreatePlacementGroup` | ✅ Implemented |
|
||||
| `CreatePublicIpv4Pool` | ❌ Not implemented |
|
||||
| `CreateReplaceRootVolumeTask` | ❌ Not implemented |
|
||||
| `CreateReservedInstancesListing` | ❌ Not implemented |
|
||||
| `CreateRestoreImageTask` | ❌ Not implemented |
|
||||
| `CreateRoute` | ✅ Implemented |
|
||||
| `CreateRouteTable` | ✅ Implemented |
|
||||
| `CreateSecurityGroup` | ✅ Implemented |
|
||||
| `CreateSnapshot` | ✅ Implemented |
|
||||
| `CreateSnapshots` | ❌ Not implemented |
|
||||
| `CreateSpotDatafeedSubscription` | ❌ Not implemented |
|
||||
| `CreateStoreImageTask` | ❌ Not implemented |
|
||||
| `CreateSubnet` | ✅ Implemented |
|
||||
| `CreateSubnetCidrReservation` | ❌ Not implemented |
|
||||
| `CreateTags` | ✅ Implemented |
|
||||
| `CreateTrafficMirrorFilter` | ❌ Not implemented |
|
||||
| `CreateTrafficMirrorFilterRule` | ❌ Not implemented |
|
||||
| `CreateTrafficMirrorSession` | ❌ Not implemented |
|
||||
| `CreateTrafficMirrorTarget` | ❌ Not implemented |
|
||||
| `CreateTransitGateway` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayConnect` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayConnectPeer` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayMulticastDomain` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayPeeringAttachment` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayPolicyTable` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayPrefixListReference` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayRoute` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayRouteTable` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayRouteTableAnnouncement` | ❌ Not implemented |
|
||||
| `CreateTransitGatewayVpcAttachment` | ❌ Not implemented |
|
||||
| `CreateVerifiedAccessEndpoint` | ❌ Not implemented |
|
||||
| `CreateVerifiedAccessGroup` | ❌ Not implemented |
|
||||
| `CreateVerifiedAccessInstance` | ❌ Not implemented |
|
||||
| `CreateVerifiedAccessTrustProvider` | ❌ Not implemented |
|
||||
| `CreateVolume` | ✅ Implemented |
|
||||
| `CreateVpc` | ✅ Implemented |
|
||||
| `CreateVpcEndpoint` | ❌ Not implemented |
|
||||
| `CreateVpcEndpointConnectionNotification` | ❌ Not implemented |
|
||||
| `CreateVpcEndpointServiceConfiguration` | ❌ Not implemented |
|
||||
| `CreateVpcPeeringConnection` | ❌ Not implemented |
|
||||
| `CreateVpnConnection` | ❌ Not implemented |
|
||||
| `CreateVpnConnectionRoute` | ❌ Not implemented |
|
||||
| `CreateVpnGateway` | ❌ Not implemented |
|
||||
| `DeleteCarrierGateway` | ❌ Not implemented |
|
||||
| `DeleteClientVpnEndpoint` | ❌ Not implemented |
|
||||
| `DeleteClientVpnRoute` | ❌ Not implemented |
|
||||
| `DeleteCoipCidr` | ❌ Not implemented |
|
||||
| `DeleteCoipPool` | ❌ Not implemented |
|
||||
| `DeleteCustomerGateway` | ❌ Not implemented |
|
||||
| `DeleteDhcpOptions` | ❌ Not implemented |
|
||||
| `DeleteEgressOnlyInternetGateway` | ✅ Implemented |
|
||||
| `DeleteFleets` | ❌ Not implemented |
|
||||
| `DeleteFlowLogs` | ❌ Not implemented |
|
||||
| `DeleteFpgaImage` | ❌ Not implemented |
|
||||
| `DeleteInstanceConnectEndpoint` | ❌ Not implemented |
|
||||
| `DeleteInstanceEventWindow` | ❌ Not implemented |
|
||||
| `DeleteInternetGateway` | ✅ Implemented |
|
||||
| `DeleteIpam` | ❌ Not implemented |
|
||||
| `DeleteIpamExternalResourceVerificationToken` | ❌ Not implemented |
|
||||
| `DeleteIpamPool` | ❌ Not implemented |
|
||||
| `DeleteIpamResourceDiscovery` | ❌ Not implemented |
|
||||
| `DeleteIpamScope` | ❌ Not implemented |
|
||||
| `DeleteKeyPair` | ✅ Implemented |
|
||||
| `DeleteLaunchTemplate` | ✅ Implemented |
|
||||
| `DeleteLaunchTemplateVersions` | ✅ Implemented |
|
||||
| `DeleteLocalGatewayRoute` | ❌ Not implemented |
|
||||
| `DeleteLocalGatewayRouteTable` | ❌ Not implemented |
|
||||
| `DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation` | ❌ Not implemented |
|
||||
| `DeleteLocalGatewayRouteTableVpcAssociation` | ❌ Not implemented |
|
||||
| `DeleteManagedPrefixList` | ❌ Not implemented |
|
||||
| `DeleteNatGateway` | ✅ Implemented |
|
||||
| `DeleteNetworkAcl` | ❌ Not implemented |
|
||||
| `DeleteNetworkAclEntry` | ❌ Not implemented |
|
||||
| `DeleteNetworkInsightsAccessScope` | ❌ Not implemented |
|
||||
| `DeleteNetworkInsightsAccessScopeAnalysis` | ❌ Not implemented |
|
||||
| `DeleteNetworkInsightsAnalysis` | ❌ Not implemented |
|
||||
| `DeleteNetworkInsightsPath` | ❌ Not implemented |
|
||||
| `DeleteNetworkInterface` | ✅ Implemented |
|
||||
| `DeleteNetworkInterfacePermission` | ❌ Not implemented |
|
||||
| `DeletePlacementGroup` | ✅ Implemented |
|
||||
| `DeletePublicIpv4Pool` | ❌ Not implemented |
|
||||
| `DeleteQueuedReservedInstances` | ❌ Not implemented |
|
||||
| `DeleteRoute` | ✅ Implemented |
|
||||
| `DeleteRouteTable` | ✅ Implemented |
|
||||
| `DeleteSecurityGroup` | ✅ Implemented |
|
||||
| `DeleteSnapshot` | ✅ Implemented |
|
||||
| `DeleteSpotDatafeedSubscription` | ❌ Not implemented |
|
||||
| `DeleteSubnet` | ✅ Implemented |
|
||||
| `DeleteSubnetCidrReservation` | ❌ Not implemented |
|
||||
| `DeleteTags` | ✅ Implemented |
|
||||
| `DeleteTrafficMirrorFilter` | ❌ Not implemented |
|
||||
| `DeleteTrafficMirrorFilterRule` | ❌ Not implemented |
|
||||
| `DeleteTrafficMirrorSession` | ❌ Not implemented |
|
||||
| `DeleteTrafficMirrorTarget` | ❌ Not implemented |
|
||||
| `DeleteTransitGateway` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayConnect` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayConnectPeer` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayMulticastDomain` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayPeeringAttachment` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayPolicyTable` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayPrefixListReference` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayRoute` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayRouteTable` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayRouteTableAnnouncement` | ❌ Not implemented |
|
||||
| `DeleteTransitGatewayVpcAttachment` | ❌ Not implemented |
|
||||
| `DeleteVerifiedAccessEndpoint` | ❌ Not implemented |
|
||||
| `DeleteVerifiedAccessGroup` | ❌ Not implemented |
|
||||
| `DeleteVerifiedAccessInstance` | ❌ Not implemented |
|
||||
| `DeleteVerifiedAccessTrustProvider` | ❌ Not implemented |
|
||||
| `DeleteVolume` | ✅ Implemented |
|
||||
| `DeleteVpc` | ✅ Implemented |
|
||||
| `DeleteVpcEndpointConnectionNotifications` | ❌ Not implemented |
|
||||
| `DeleteVpcEndpointServiceConfigurations` | ❌ Not implemented |
|
||||
| `DeleteVpcEndpoints` | ❌ Not implemented |
|
||||
| `DeleteVpcPeeringConnection` | ❌ Not implemented |
|
||||
| `DeleteVpnConnection` | ❌ Not implemented |
|
||||
| `DeleteVpnConnectionRoute` | ❌ Not implemented |
|
||||
| `DeleteVpnGateway` | ❌ Not implemented |
|
||||
| `DeprovisionByoipCidr` | ❌ Not implemented |
|
||||
| `DeprovisionIpamByoasn` | ❌ Not implemented |
|
||||
| `DeprovisionIpamPoolCidr` | ❌ Not implemented |
|
||||
| `DeprovisionPublicIpv4PoolCidr` | ❌ Not implemented |
|
||||
| `DeregisterImage` | ✅ Implemented |
|
||||
| `DeregisterInstanceEventNotificationAttributes` | ❌ Not implemented |
|
||||
| `DeregisterTransitGatewayMulticastGroupMembers` | ❌ Not implemented |
|
||||
| `DeregisterTransitGatewayMulticastGroupSources` | ❌ Not implemented |
|
||||
| `DescribeAccountAttributes` | ✅ Implemented |
|
||||
| `DescribeAddressTransfers` | ❌ Not implemented |
|
||||
| `DescribeAddresses` | ✅ Implemented |
|
||||
| `DescribeAddressesAttribute` | ✅ Implemented |
|
||||
| `DescribeAggregateIdFormat` | ❌ Not implemented |
|
||||
| `DescribeAvailabilityZones` | ✅ Implemented |
|
||||
| `DescribeAwsNetworkPerformanceMetricSubscriptions` | ❌ Not implemented |
|
||||
| `DescribeBundleTasks` | ❌ Not implemented |
|
||||
| `DescribeByoipCidrs` | ❌ Not implemented |
|
||||
| `DescribeCapacityBlockOfferings` | ❌ Not implemented |
|
||||
| `DescribeCapacityReservationFleets` | ❌ Not implemented |
|
||||
| `DescribeCapacityReservations` | ✅ Implemented |
|
||||
| `DescribeCarrierGateways` | ❌ Not implemented |
|
||||
| `DescribeClassicLinkInstances` | ❌ Not implemented |
|
||||
| `DescribeClientVpnAuthorizationRules` | ❌ Not implemented |
|
||||
| `DescribeClientVpnConnections` | ❌ Not implemented |
|
||||
| `DescribeClientVpnEndpoints` | ❌ Not implemented |
|
||||
| `DescribeClientVpnRoutes` | ❌ Not implemented |
|
||||
| `DescribeClientVpnTargetNetworks` | ❌ Not implemented |
|
||||
| `DescribeCoipPools` | ❌ Not implemented |
|
||||
| `DescribeConversionTasks` | ❌ Not implemented |
|
||||
| `DescribeCustomerGateways` | ❌ Not implemented |
|
||||
| `DescribeDhcpOptions` | ❌ Not implemented |
|
||||
| `DescribeEgressOnlyInternetGateways` | ✅ Implemented |
|
||||
| `DescribeElasticGpus` | ❌ Not implemented |
|
||||
| `DescribeExportImageTasks` | ❌ Not implemented |
|
||||
| `DescribeExportTasks` | ❌ Not implemented |
|
||||
| `DescribeFastLaunchImages` | ❌ Not implemented |
|
||||
| `DescribeFastSnapshotRestores` | ❌ Not implemented |
|
||||
| `DescribeFleetHistory` | ❌ Not implemented |
|
||||
| `DescribeFleetInstances` | ❌ Not implemented |
|
||||
| `DescribeFleets` | ❌ Not implemented |
|
||||
| `DescribeFlowLogs` | ❌ Not implemented |
|
||||
| `DescribeFpgaImageAttribute` | ❌ Not implemented |
|
||||
| `DescribeFpgaImages` | ❌ Not implemented |
|
||||
| `DescribeHostReservationOfferings` | ❌ Not implemented |
|
||||
| `DescribeHostReservations` | ❌ Not implemented |
|
||||
| `DescribeHosts` | ❌ Not implemented |
|
||||
| `DescribeIamInstanceProfileAssociations` | ✅ Implemented |
|
||||
| `DescribeIdFormat` | ❌ Not implemented |
|
||||
| `DescribeIdentityIdFormat` | ❌ Not implemented |
|
||||
| `DescribeImageAttribute` | ✅ Implemented |
|
||||
| `DescribeImages` | ✅ Implemented |
|
||||
| `DescribeImportImageTasks` | ❌ Not implemented |
|
||||
| `DescribeImportSnapshotTasks` | ❌ Not implemented |
|
||||
| `DescribeInstanceAttribute` | ✅ Implemented |
|
||||
| `DescribeInstanceConnectEndpoints` | ❌ Not implemented |
|
||||
| `DescribeInstanceCreditSpecifications` | ✅ Implemented |
|
||||
| `DescribeInstanceEventNotificationAttributes` | ❌ Not implemented |
|
||||
| `DescribeInstanceEventWindows` | ❌ Not implemented |
|
||||
| `DescribeInstanceStatus` | ✅ Implemented |
|
||||
| `DescribeInstanceTopology` | ❌ Not implemented |
|
||||
| `DescribeInstanceTypeOfferings` | ✅ Implemented |
|
||||
| `DescribeInstanceTypes` | ✅ Implemented |
|
||||
| `DescribeInstances` | ✅ Implemented |
|
||||
| `DescribeInternetGateways` | ✅ Implemented |
|
||||
| `DescribeIpamByoasn` | ❌ Not implemented |
|
||||
| `DescribeIpamExternalResourceVerificationTokens` | ❌ Not implemented |
|
||||
| `DescribeIpamPools` | ❌ Not implemented |
|
||||
| `DescribeIpamResourceDiscoveries` | ❌ Not implemented |
|
||||
| `DescribeIpamResourceDiscoveryAssociations` | ❌ Not implemented |
|
||||
| `DescribeIpamScopes` | ❌ Not implemented |
|
||||
| `DescribeIpams` | ❌ Not implemented |
|
||||
| `DescribeIpv6Pools` | ❌ Not implemented |
|
||||
| `DescribeKeyPairs` | ✅ Implemented |
|
||||
| `DescribeLaunchTemplateVersions` | ✅ Implemented |
|
||||
| `DescribeLaunchTemplates` | ✅ Implemented |
|
||||
| `DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations` | ❌ Not implemented |
|
||||
| `DescribeLocalGatewayRouteTableVpcAssociations` | ❌ Not implemented |
|
||||
| `DescribeLocalGatewayRouteTables` | ❌ Not implemented |
|
||||
| `DescribeLocalGatewayVirtualInterfaceGroups` | ❌ Not implemented |
|
||||
| `DescribeLocalGatewayVirtualInterfaces` | ❌ Not implemented |
|
||||
| `DescribeLocalGateways` | ❌ Not implemented |
|
||||
| `DescribeLockedSnapshots` | ❌ Not implemented |
|
||||
| `DescribeMacHosts` | ❌ Not implemented |
|
||||
| `DescribeManagedPrefixLists` | ❌ Not implemented |
|
||||
| `DescribeMovingAddresses` | ❌ Not implemented |
|
||||
| `DescribeNatGateways` | ✅ Implemented |
|
||||
| `DescribeNetworkAcls` | ❌ Not implemented |
|
||||
| `DescribeNetworkInsightsAccessScopeAnalyses` | ❌ Not implemented |
|
||||
| `DescribeNetworkInsightsAccessScopes` | ❌ Not implemented |
|
||||
| `DescribeNetworkInsightsAnalyses` | ❌ Not implemented |
|
||||
| `DescribeNetworkInsightsPaths` | ❌ Not implemented |
|
||||
| `DescribeNetworkInterfaceAttribute` | ❌ Not implemented |
|
||||
| `DescribeNetworkInterfacePermissions` | ❌ Not implemented |
|
||||
| `DescribeNetworkInterfaces` | ✅ Implemented |
|
||||
| `DescribePlacementGroups` | ✅ Implemented |
|
||||
| `DescribePrefixLists` | ❌ Not implemented |
|
||||
| `DescribePrincipalIdFormat` | ❌ Not implemented |
|
||||
| `DescribePublicIpv4Pools` | ❌ Not implemented |
|
||||
| `DescribeRegions` | ✅ Implemented |
|
||||
| `DescribeReplaceRootVolumeTasks` | ❌ Not implemented |
|
||||
| `DescribeReservedInstances` | ❌ Not implemented |
|
||||
| `DescribeReservedInstancesListings` | ❌ Not implemented |
|
||||
| `DescribeReservedInstancesModifications` | ❌ Not implemented |
|
||||
| `DescribeReservedInstancesOfferings` | ❌ Not implemented |
|
||||
| `DescribeRouteTables` | ✅ Implemented |
|
||||
| `DescribeScheduledInstanceAvailability` | ❌ Not implemented |
|
||||
| `DescribeScheduledInstances` | ❌ Not implemented |
|
||||
| `DescribeSecurityGroupReferences` | ❌ Not implemented |
|
||||
| `DescribeSecurityGroupRules` | ✅ Implemented |
|
||||
| `DescribeSecurityGroups` | ✅ Implemented |
|
||||
| `DescribeSnapshotAttribute` | ❌ Not implemented |
|
||||
| `DescribeSnapshotTierStatus` | ❌ Not implemented |
|
||||
| `DescribeSnapshots` | ✅ Implemented |
|
||||
| `DescribeSpotDatafeedSubscription` | ❌ Not implemented |
|
||||
| `DescribeSpotFleetInstances` | ❌ Not implemented |
|
||||
| `DescribeSpotFleetRequestHistory` | ❌ Not implemented |
|
||||
| `DescribeSpotFleetRequests` | ❌ Not implemented |
|
||||
| `DescribeSpotInstanceRequests` | ✅ Implemented |
|
||||
| `DescribeSpotPriceHistory` | ⛔ Not applicable [1](#notes) |
|
||||
| `DescribeStaleSecurityGroups` | ❌ Not implemented |
|
||||
| `DescribeStoreImageTasks` | ❌ Not implemented |
|
||||
| `DescribeSubnets` | ✅ Implemented |
|
||||
| `DescribeTags` | ✅ Implemented |
|
||||
| `DescribeTrafficMirrorFilterRules` | ❌ Not implemented |
|
||||
| `DescribeTrafficMirrorFilters` | ❌ Not implemented |
|
||||
| `DescribeTrafficMirrorSessions` | ❌ Not implemented |
|
||||
| `DescribeTrafficMirrorTargets` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayAttachments` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayConnectPeers` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayConnects` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayMulticastDomains` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayPeeringAttachments` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayPolicyTables` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayRouteTableAnnouncements` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayRouteTables` | ❌ Not implemented |
|
||||
| `DescribeTransitGatewayVpcAttachments` | ❌ Not implemented |
|
||||
| `DescribeTransitGateways` | ❌ Not implemented |
|
||||
| `DescribeTrunkInterfaceAssociations` | ❌ Not implemented |
|
||||
| `DescribeVerifiedAccessEndpoints` | ❌ Not implemented |
|
||||
| `DescribeVerifiedAccessGroups` | ❌ Not implemented |
|
||||
| `DescribeVerifiedAccessInstanceLoggingConfigurations` | ❌ Not implemented |
|
||||
| `DescribeVerifiedAccessInstances` | ❌ Not implemented |
|
||||
| `DescribeVerifiedAccessTrustProviders` | ❌ Not implemented |
|
||||
| `DescribeVolumeAttribute` | ❌ Not implemented |
|
||||
| `DescribeVolumeStatus` | ✅ Implemented |
|
||||
| `DescribeVolumes` | ✅ Implemented |
|
||||
| `DescribeVolumesModifications` | ✅ Implemented |
|
||||
| `DescribeVpcAttribute` | ✅ Implemented |
|
||||
| `DescribeVpcClassicLink` | ❌ Not implemented |
|
||||
| `DescribeVpcClassicLinkDnsSupport` | ❌ Not implemented |
|
||||
| `DescribeVpcEndpointConnectionNotifications` | ❌ Not implemented |
|
||||
| `DescribeVpcEndpointConnections` | ❌ Not implemented |
|
||||
| `DescribeVpcEndpointServiceConfigurations` | ❌ Not implemented |
|
||||
| `DescribeVpcEndpointServicePermissions` | ❌ Not implemented |
|
||||
| `DescribeVpcEndpointServices` | ❌ Not implemented |
|
||||
| `DescribeVpcEndpoints` | ❌ Not implemented |
|
||||
| `DescribeVpcPeeringConnections` | ❌ Not implemented |
|
||||
| `DescribeVpcs` | ✅ Implemented |
|
||||
| `DescribeVpnConnections` | ❌ Not implemented |
|
||||
| `DescribeVpnGateways` | ❌ Not implemented |
|
||||
| `DetachClassicLinkVpc` | ❌ Not implemented |
|
||||
| `DetachInternetGateway` | ✅ Implemented |
|
||||
| `DetachNetworkInterface` | ✅ Implemented |
|
||||
| `DetachVerifiedAccessTrustProvider` | ❌ Not implemented |
|
||||
| `DetachVolume` | ✅ Implemented |
|
||||
| `DetachVpnGateway` | ❌ Not implemented |
|
||||
| `DisableAddressTransfer` | ❌ Not implemented |
|
||||
| `DisableAwsNetworkPerformanceMetricSubscription` | ❌ Not implemented |
|
||||
| `DisableEbsEncryptionByDefault` | ✅ Implemented |
|
||||
| `DisableFastLaunch` | ❌ Not implemented |
|
||||
| `DisableFastSnapshotRestores` | ❌ Not implemented |
|
||||
| `DisableImage` | ❌ Not implemented |
|
||||
| `DisableImageBlockPublicAccess` | ❌ Not implemented |
|
||||
| `DisableImageDeprecation` | ❌ Not implemented |
|
||||
| `DisableImageDeregistrationProtection` | ❌ Not implemented |
|
||||
| `DisableIpamOrganizationAdminAccount` | ❌ Not implemented |
|
||||
| `DisableSerialConsoleAccess` | ✅ Implemented |
|
||||
| `DisableSnapshotBlockPublicAccess` | ❌ Not implemented |
|
||||
| `DisableTransitGatewayRouteTablePropagation` | ❌ Not implemented |
|
||||
| `DisableVgwRoutePropagation` | ❌ Not implemented |
|
||||
| `DisableVpcClassicLink` | ❌ Not implemented |
|
||||
| `DisableVpcClassicLinkDnsSupport` | ❌ Not implemented |
|
||||
| `DisassociateAddress` | ✅ Implemented |
|
||||
| `DisassociateClientVpnTargetNetwork` | ❌ Not implemented |
|
||||
| `DisassociateEnclaveCertificateIamRole` | ❌ Not implemented |
|
||||
| `DisassociateIamInstanceProfile` | ✅ Implemented |
|
||||
| `DisassociateInstanceEventWindow` | ❌ Not implemented |
|
||||
| `DisassociateIpamByoasn` | ❌ Not implemented |
|
||||
| `DisassociateIpamResourceDiscovery` | ❌ Not implemented |
|
||||
| `DisassociateNatGatewayAddress` | ❌ Not implemented |
|
||||
| `DisassociateRouteTable` | ✅ Implemented |
|
||||
| `DisassociateSubnetCidrBlock` | ❌ Not implemented |
|
||||
| `DisassociateTransitGatewayMulticastDomain` | ❌ Not implemented |
|
||||
| `DisassociateTransitGatewayPolicyTable` | ❌ Not implemented |
|
||||
| `DisassociateTransitGatewayRouteTable` | ❌ Not implemented |
|
||||
| `DisassociateTrunkInterface` | ❌ Not implemented |
|
||||
| `DisassociateVpcCidrBlock` | ❌ Not implemented |
|
||||
| `EnableAddressTransfer` | ❌ Not implemented |
|
||||
| `EnableAwsNetworkPerformanceMetricSubscription` | ❌ Not implemented |
|
||||
| `EnableEbsEncryptionByDefault` | ✅ Implemented |
|
||||
| `EnableFastLaunch` | ❌ Not implemented |
|
||||
| `EnableFastSnapshotRestores` | ❌ Not implemented |
|
||||
| `EnableImage` | ❌ Not implemented |
|
||||
| `EnableImageBlockPublicAccess` | ❌ Not implemented |
|
||||
| `EnableImageDeprecation` | ❌ Not implemented |
|
||||
| `EnableImageDeregistrationProtection` | ❌ Not implemented |
|
||||
| `EnableIpamOrganizationAdminAccount` | ❌ Not implemented |
|
||||
| `EnableReachabilityAnalyzerOrganizationSharing` | ❌ Not implemented |
|
||||
| `EnableSerialConsoleAccess` | ✅ Implemented |
|
||||
| `EnableSnapshotBlockPublicAccess` | ❌ Not implemented |
|
||||
| `EnableTransitGatewayRouteTablePropagation` | ❌ Not implemented |
|
||||
| `EnableVgwRoutePropagation` | ❌ Not implemented |
|
||||
| `EnableVolumeIO` | ❌ Not implemented |
|
||||
| `EnableVpcClassicLink` | ❌ Not implemented |
|
||||
| `EnableVpcClassicLinkDnsSupport` | ❌ Not implemented |
|
||||
| `ExportClientVpnClientCertificateRevocationList` | ❌ Not implemented |
|
||||
| `ExportClientVpnClientConfiguration` | ❌ Not implemented |
|
||||
| `ExportImage` | ❌ Not implemented |
|
||||
| `ExportTransitGatewayRoutes` | ❌ Not implemented |
|
||||
| `GetAssociatedEnclaveCertificateIamRoles` | ❌ Not implemented |
|
||||
| `GetAssociatedIpv6PoolCidrs` | ❌ Not implemented |
|
||||
| `GetAwsNetworkPerformanceData` | ❌ Not implemented |
|
||||
| `GetCapacityReservationUsage` | ❌ Not implemented |
|
||||
| `GetCoipPoolUsage` | ❌ Not implemented |
|
||||
| `GetConsoleOutput` | ✅ Implemented |
|
||||
| `GetConsoleScreenshot` | ❌ Not implemented |
|
||||
| `GetDefaultCreditSpecification` | ❌ Not implemented |
|
||||
| `GetEbsDefaultKmsKeyId` | ❌ Not implemented |
|
||||
| `GetEbsEncryptionByDefault` | ✅ Implemented |
|
||||
| `GetFlowLogsIntegrationTemplate` | ❌ Not implemented |
|
||||
| `GetGroupsForCapacityReservation` | ❌ Not implemented |
|
||||
| `GetHostReservationPurchasePreview` | ❌ Not implemented |
|
||||
| `GetImageBlockPublicAccessState` | ❌ Not implemented |
|
||||
| `GetInstanceMetadataDefaults` | ❌ Not implemented |
|
||||
| `GetInstanceTpmEkPub` | ❌ Not implemented |
|
||||
| `GetInstanceTypesFromInstanceRequirements` | ❌ Not implemented |
|
||||
| `GetInstanceUefiData` | ❌ Not implemented |
|
||||
| `GetIpamAddressHistory` | ❌ Not implemented |
|
||||
| `GetIpamDiscoveredAccounts` | ❌ Not implemented |
|
||||
| `GetIpamDiscoveredPublicAddresses` | ❌ Not implemented |
|
||||
| `GetIpamDiscoveredResourceCidrs` | ❌ Not implemented |
|
||||
| `GetIpamPoolAllocations` | ❌ Not implemented |
|
||||
| `GetIpamPoolCidrs` | ❌ Not implemented |
|
||||
| `GetIpamResourceCidrs` | ❌ Not implemented |
|
||||
| `GetLaunchTemplateData` | ❌ Not implemented |
|
||||
| `GetManagedPrefixListAssociations` | ❌ Not implemented |
|
||||
| `GetManagedPrefixListEntries` | ❌ Not implemented |
|
||||
| `GetNetworkInsightsAccessScopeAnalysisFindings` | ❌ Not implemented |
|
||||
| `GetNetworkInsightsAccessScopeContent` | ❌ Not implemented |
|
||||
| `GetPasswordData` | ✅ Implemented |
|
||||
| `GetReservedInstancesExchangeQuote` | ❌ Not implemented |
|
||||
| `GetSecurityGroupsForVpc` | ✅ Implemented |
|
||||
| `GetSerialConsoleAccessStatus` | ✅ Implemented |
|
||||
| `GetSnapshotBlockPublicAccessState` | ❌ Not implemented |
|
||||
| `GetSpotPlacementScores` | ❌ Not implemented |
|
||||
| `GetSubnetCidrReservations` | ❌ Not implemented |
|
||||
| `GetTransitGatewayAttachmentPropagations` | ❌ Not implemented |
|
||||
| `GetTransitGatewayMulticastDomainAssociations` | ❌ Not implemented |
|
||||
| `GetTransitGatewayPolicyTableAssociations` | ❌ Not implemented |
|
||||
| `GetTransitGatewayPolicyTableEntries` | ❌ Not implemented |
|
||||
| `GetTransitGatewayPrefixListReferences` | ❌ Not implemented |
|
||||
| `GetTransitGatewayRouteTableAssociations` | ❌ Not implemented |
|
||||
| `GetTransitGatewayRouteTablePropagations` | ❌ Not implemented |
|
||||
| `GetVerifiedAccessEndpointPolicy` | ❌ Not implemented |
|
||||
| `GetVerifiedAccessGroupPolicy` | ❌ Not implemented |
|
||||
| `GetVpnConnectionDeviceSampleConfiguration` | ❌ Not implemented |
|
||||
| `GetVpnConnectionDeviceTypes` | ❌ Not implemented |
|
||||
| `GetVpnTunnelReplacementStatus` | ❌ Not implemented |
|
||||
| `ImportClientVpnClientCertificateRevocationList` | ❌ Not implemented |
|
||||
| `ImportImage` | ❌ Not implemented |
|
||||
| `ImportInstance` | ❌ Not implemented |
|
||||
| `ImportKeyPair` | ✅ Implemented |
|
||||
| `ImportSnapshot` | ❌ Not implemented |
|
||||
| `ImportVolume` | ❌ Not implemented |
|
||||
| `ListImagesInRecycleBin` | ❌ Not implemented |
|
||||
| `ListSnapshotsInRecycleBin` | ❌ Not implemented |
|
||||
| `LockSnapshot` | ❌ Not implemented |
|
||||
| `ModifyAddressAttribute` | ❌ Not implemented |
|
||||
| `ModifyAvailabilityZoneGroup` | ❌ Not implemented |
|
||||
| `ModifyCapacityReservation` | ❌ Not implemented |
|
||||
| `ModifyCapacityReservationFleet` | ❌ Not implemented |
|
||||
| `ModifyClientVpnEndpoint` | ❌ Not implemented |
|
||||
| `ModifyDefaultCreditSpecification` | ❌ Not implemented |
|
||||
| `ModifyEbsDefaultKmsKeyId` | ❌ Not implemented |
|
||||
| `ModifyFleet` | ❌ Not implemented |
|
||||
| `ModifyFpgaImageAttribute` | ❌ Not implemented |
|
||||
| `ModifyHosts` | ❌ Not implemented |
|
||||
| `ModifyIdFormat` | ❌ Not implemented |
|
||||
| `ModifyIdentityIdFormat` | ❌ Not implemented |
|
||||
| `ModifyImageAttribute` | ✅ Implemented |
|
||||
| `ModifyInstanceAttribute` | ✅ Implemented |
|
||||
| `ModifyInstanceCapacityReservationAttributes` | ❌ Not implemented |
|
||||
| `ModifyInstanceCreditSpecification` | ❌ Not implemented |
|
||||
| `ModifyInstanceEventStartTime` | ❌ Not implemented |
|
||||
| `ModifyInstanceEventWindow` | ❌ Not implemented |
|
||||
| `ModifyInstanceMaintenanceOptions` | ❌ Not implemented |
|
||||
| `ModifyInstanceMetadataDefaults` | ❌ Not implemented |
|
||||
| `ModifyInstanceMetadataOptions` | ✅ Implemented |
|
||||
| `ModifyInstancePlacement` | ❌ Not implemented |
|
||||
| `ModifyIpam` | ❌ Not implemented |
|
||||
| `ModifyIpamPool` | ❌ Not implemented |
|
||||
| `ModifyIpamResourceCidr` | ❌ Not implemented |
|
||||
| `ModifyIpamResourceDiscovery` | ❌ Not implemented |
|
||||
| `ModifyIpamScope` | ❌ Not implemented |
|
||||
| `ModifyLaunchTemplate` | ✅ Implemented |
|
||||
| `ModifyLocalGatewayRoute` | ❌ Not implemented |
|
||||
| `ModifyManagedPrefixList` | ❌ Not implemented |
|
||||
| `ModifyNetworkInterfaceAttribute` | ✅ Implemented |
|
||||
| `ModifyPrivateDnsNameOptions` | ❌ Not implemented |
|
||||
| `ModifyReservedInstances` | ❌ Not implemented |
|
||||
| `ModifySecurityGroupRules` | ❌ Not implemented |
|
||||
| `ModifySnapshotAttribute` | ❌ Not implemented |
|
||||
| `ModifySnapshotTier` | ❌ Not implemented |
|
||||
| `ModifySpotFleetRequest` | ❌ Not implemented |
|
||||
| `ModifySubnetAttribute` | ✅ Implemented |
|
||||
| `ModifyTrafficMirrorFilterNetworkServices` | ❌ Not implemented |
|
||||
| `ModifyTrafficMirrorFilterRule` | ❌ Not implemented |
|
||||
| `ModifyTrafficMirrorSession` | ❌ Not implemented |
|
||||
| `ModifyTransitGateway` | ❌ Not implemented |
|
||||
| `ModifyTransitGatewayPrefixListReference` | ❌ Not implemented |
|
||||
| `ModifyTransitGatewayVpcAttachment` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessEndpoint` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessEndpointPolicy` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessGroup` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessGroupPolicy` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessInstance` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessInstanceLoggingConfiguration` | ❌ Not implemented |
|
||||
| `ModifyVerifiedAccessTrustProvider` | ❌ Not implemented |
|
||||
| `ModifyVolume` | ✅ Implemented |
|
||||
| `ModifyVolumeAttribute` | ❌ Not implemented |
|
||||
| `ModifyVpcAttribute` | ✅ Implemented |
|
||||
| `ModifyVpcEndpoint` | ❌ Not implemented |
|
||||
| `ModifyVpcEndpointConnectionNotification` | ❌ Not implemented |
|
||||
| `ModifyVpcEndpointServiceConfiguration` | ❌ Not implemented |
|
||||
| `ModifyVpcEndpointServicePayerResponsibility` | ❌ Not implemented |
|
||||
| `ModifyVpcEndpointServicePermissions` | ❌ Not implemented |
|
||||
| `ModifyVpcPeeringConnectionOptions` | ❌ Not implemented |
|
||||
| `ModifyVpcTenancy` | ❌ Not implemented |
|
||||
| `ModifyVpnConnection` | ❌ Not implemented |
|
||||
| `ModifyVpnConnectionOptions` | ❌ Not implemented |
|
||||
| `ModifyVpnTunnelCertificate` | ❌ Not implemented |
|
||||
| `ModifyVpnTunnelOptions` | ❌ Not implemented |
|
||||
| `MonitorInstances` | ✅ Implemented |
|
||||
| `MoveAddressToVpc` | ❌ Not implemented |
|
||||
| `MoveByoipCidrToIpam` | ❌ Not implemented |
|
||||
| `ProvisionByoipCidr` | ❌ Not implemented |
|
||||
| `ProvisionIpamByoasn` | ❌ Not implemented |
|
||||
| `ProvisionIpamPoolCidr` | ❌ Not implemented |
|
||||
| `ProvisionPublicIpv4PoolCidr` | ❌ Not implemented |
|
||||
| `PurchaseCapacityBlock` | ❌ Not implemented |
|
||||
| `PurchaseHostReservation` | ❌ Not implemented |
|
||||
| `PurchaseReservedInstancesOffering` | ❌ Not implemented |
|
||||
| `PurchaseScheduledInstances` | ❌ Not implemented |
|
||||
| `RebootInstances` | ✅ Implemented |
|
||||
| `RegisterImage` | ✅ Implemented |
|
||||
| `RegisterInstanceEventNotificationAttributes` | ❌ Not implemented |
|
||||
| `RegisterTransitGatewayMulticastGroupMembers` | ❌ Not implemented |
|
||||
| `RegisterTransitGatewayMulticastGroupSources` | ❌ Not implemented |
|
||||
| `RejectTransitGatewayMulticastDomainAssociations` | ❌ Not implemented |
|
||||
| `RejectTransitGatewayPeeringAttachment` | ❌ Not implemented |
|
||||
| `RejectTransitGatewayVpcAttachment` | ❌ Not implemented |
|
||||
| `RejectVpcEndpointConnections` | ❌ Not implemented |
|
||||
| `RejectVpcPeeringConnection` | ❌ Not implemented |
|
||||
| `ReleaseAddress` | ✅ Implemented |
|
||||
| `ReleaseHosts` | ❌ Not implemented |
|
||||
| `ReleaseIpamPoolAllocation` | ❌ Not implemented |
|
||||
| `ReplaceIamInstanceProfileAssociation` | ✅ Implemented |
|
||||
| `ReplaceNetworkAclAssociation` | ❌ Not implemented |
|
||||
| `ReplaceNetworkAclEntry` | ❌ Not implemented |
|
||||
| `ReplaceRoute` | ✅ Implemented |
|
||||
| `ReplaceRouteTableAssociation` | ✅ Implemented |
|
||||
| `ReplaceTransitGatewayRoute` | ❌ Not implemented |
|
||||
| `ReplaceVpnTunnel` | ❌ Not implemented |
|
||||
| `ReportInstanceStatus` | ❌ Not implemented |
|
||||
| `RequestSpotFleet` | ❌ Not implemented |
|
||||
| `RequestSpotInstances` | ✅ Implemented |
|
||||
| `ResetAddressAttribute` | ❌ Not implemented |
|
||||
| `ResetEbsDefaultKmsKeyId` | ❌ Not implemented |
|
||||
| `ResetFpgaImageAttribute` | ❌ Not implemented |
|
||||
| `ResetImageAttribute` | ✅ Implemented |
|
||||
| `ResetInstanceAttribute` | ❌ Not implemented |
|
||||
| `ResetNetworkInterfaceAttribute` | ❌ Not implemented |
|
||||
| `ResetSnapshotAttribute` | ❌ Not implemented |
|
||||
| `RestoreAddressToClassic` | ❌ Not implemented |
|
||||
| `RestoreImageFromRecycleBin` | ❌ Not implemented |
|
||||
| `RestoreManagedPrefixListVersion` | ❌ Not implemented |
|
||||
| `RestoreSnapshotFromRecycleBin` | ❌ Not implemented |
|
||||
| `RestoreSnapshotTier` | ❌ Not implemented |
|
||||
| `RevokeClientVpnIngress` | ❌ Not implemented |
|
||||
| `RevokeSecurityGroupEgress` | ✅ Implemented |
|
||||
| `RevokeSecurityGroupIngress` | ✅ Implemented |
|
||||
| `RunInstances` | ✅ Implemented |
|
||||
| `RunScheduledInstances` | ❌ Not implemented |
|
||||
| `SearchLocalGatewayRoutes` | ❌ Not implemented |
|
||||
| `SearchTransitGatewayMulticastGroups` | ❌ Not implemented |
|
||||
| `SearchTransitGatewayRoutes` | ❌ Not implemented |
|
||||
| `SendDiagnosticInterrupt` | ❌ Not implemented |
|
||||
| `StartInstances` | ✅ Implemented |
|
||||
| `StartNetworkInsightsAccessScopeAnalysis` | ❌ Not implemented |
|
||||
| `StartNetworkInsightsAnalysis` | ❌ Not implemented |
|
||||
| `StartVpcEndpointServicePrivateDnsVerification` | ❌ Not implemented |
|
||||
| `StopInstances` | ✅ Implemented |
|
||||
| `TerminateClientVpnConnections` | ❌ Not implemented |
|
||||
| `TerminateInstances` | ✅ Implemented |
|
||||
| `UnassignIpv6Addresses` | ❌ Not implemented |
|
||||
| `UnassignPrivateIpAddresses` | ❌ Not implemented |
|
||||
| `UnassignPrivateNatGatewayAddress` | ❌ Not implemented |
|
||||
| `UnlockSnapshot` | ❌ Not implemented |
|
||||
| `UnmonitorInstances` | ✅ Implemented |
|
||||
| `UpdateSecurityGroupRuleDescriptionsEgress` | ✅ Implemented |
|
||||
| `UpdateSecurityGroupRuleDescriptionsIngress` | ✅ Implemented |
|
||||
| `WithdrawByoipCidr` | ❌ Not implemented |
|
||||
|
||||
### Notes
|
||||
|
||||
1. On owned hardware there is no spot-to-on-demand price differential, so any figure would be invented.
|
||||
| `DescribeSpotPriceHistory` | On owned hardware there is no spot-to-on-demand price differential, so any figure would be invented. |
|
||||
|
||||
+15
-23
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "ECR API Coverage"
|
||||
seoTitle: "Elastic Container Registry API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the Amazon ECR API model and whether Spinifex implements it, alongside the OCI distribution endpoint that carries the image layers."
|
||||
description: "The Amazon ECR API operations Spinifex implements, alongside the OCI distribution endpoint that carries the image layers, and those the platform will not."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,15 +18,15 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **19 of the 47** operations (**40.4%**) in the ECR `2015-09-21` API model.
|
||||
Spinifex implements **19 operations** in the ECR `2015-09-21` API model.
|
||||
|
||||
### Two endpoints, one registry
|
||||
|
||||
Repository metadata is served over the AWS API on the gateway endpoint. Image data moves over the OCI Distribution `/v2/` endpoint on that same host, authenticated by the bearer token `GetAuthorizationToken` mints for `docker login`.
|
||||
|
||||
The split explains the largest group of unimplemented operations below. The layer-transfer operations — `BatchCheckLayerAvailability`, `InitiateLayerUpload`, `UploadLayerPart`, `CompleteLayerUpload` and `GetDownloadUrlForLayer` — are registered stubs because the `/v2/` endpoint carries that traffic instead. A client using `docker` or any OCI-compatible tool never calls them.
|
||||
The split explains the stubs below. The layer-transfer operations — `BatchCheckLayerAvailability`, `InitiateLayerUpload`, `UploadLayerPart`, `CompleteLayerUpload` and `GetDownloadUrlForLayer` — are registered stubs because the `/v2/` endpoint carries that traffic instead. A client using `docker` or any OCI-compatible tool never calls them.
|
||||
|
||||
Registry replication is absent as well: a deployment is a single registry, with no cross-region peer to replicate to.
|
||||
Registry replication is a stub for the same kind of reason: a deployment is a single registry, with no cross-region peer to replicate to.
|
||||
|
||||
### Operations
|
||||
|
||||
@@ -35,54 +35,46 @@ Registry replication is absent as well: a deployment is a single registry, with
|
||||
| `BatchCheckLayerAvailability` | 🟡 Stub |
|
||||
| `BatchDeleteImage` | ✅ Implemented |
|
||||
| `BatchGetImage` | ✅ Implemented |
|
||||
| `BatchGetRepositoryScanningConfiguration` | ⛔ Not applicable [1](#notes) |
|
||||
| `CompleteLayerUpload` | 🟡 Stub |
|
||||
| `CreatePullThroughCacheRule` | ❌ Not implemented |
|
||||
| `CreateRepository` | ✅ Implemented |
|
||||
| `CreateRepositoryCreationTemplate` | ❌ Not implemented |
|
||||
| `DeleteLifecyclePolicy` | ✅ Implemented |
|
||||
| `DeletePullThroughCacheRule` | ❌ Not implemented |
|
||||
| `DeleteRegistryPolicy` | ❌ Not implemented |
|
||||
| `DeleteRepository` | ✅ Implemented |
|
||||
| `DeleteRepositoryCreationTemplate` | ❌ Not implemented |
|
||||
| `DeleteRepositoryPolicy` | ✅ Implemented |
|
||||
| `DescribeImageReplicationStatus` | ❌ Not implemented |
|
||||
| `DescribeImageScanFindings` | ⛔ Not applicable [1](#notes) |
|
||||
| `DescribeImages` | ✅ Implemented |
|
||||
| `DescribePullThroughCacheRules` | ❌ Not implemented |
|
||||
| `DescribeRegistry` | 🟡 Stub |
|
||||
| `DescribeRepositories` | ✅ Implemented |
|
||||
| `DescribeRepositoryCreationTemplates` | ❌ Not implemented |
|
||||
| `GetAuthorizationToken` | ✅ Implemented |
|
||||
| `GetDownloadUrlForLayer` | 🟡 Stub |
|
||||
| `GetLifecyclePolicy` | ✅ Implemented |
|
||||
| `GetLifecyclePolicyPreview` | ✅ Implemented |
|
||||
| `GetRegistryPolicy` | 🟡 Stub |
|
||||
| `GetRegistryScanningConfiguration` | ⛔ Not applicable [1](#notes) |
|
||||
| `GetRepositoryPolicy` | ✅ Implemented |
|
||||
| `InitiateLayerUpload` | 🟡 Stub |
|
||||
| `ListImages` | ✅ Implemented |
|
||||
| `ListTagsForResource` | ✅ Implemented |
|
||||
| `PutImage` | ✅ Implemented |
|
||||
| `PutImageScanningConfiguration` | ⛔ Not applicable [1](#notes) |
|
||||
| `PutImageTagMutability` | ✅ Implemented |
|
||||
| `PutLifecyclePolicy` | ✅ Implemented |
|
||||
| `PutRegistryPolicy` | 🟡 Stub |
|
||||
| `PutRegistryScanningConfiguration` | ⛔ Not applicable [1](#notes) |
|
||||
| `PutReplicationConfiguration` | 🟡 Stub |
|
||||
| `SetRepositoryPolicy` | ✅ Implemented |
|
||||
| `StartImageScan` | ⛔ Not applicable [1](#notes) |
|
||||
| `StartLifecyclePolicyPreview` | ✅ Implemented |
|
||||
| `TagResource` | 🟡 Stub |
|
||||
| `UntagResource` | 🟡 Stub |
|
||||
| `UpdatePullThroughCacheRule` | ❌ Not implemented |
|
||||
| `UpdateRepositoryCreationTemplate` | ❌ Not implemented |
|
||||
| `UploadLayerPart` | 🟡 Stub |
|
||||
| `ValidatePullThroughCacheRule` | ❌ Not implemented |
|
||||
| `GetImageScanningConfiguration` | 🔒 Outside the pinned model |
|
||||
| `ListRepositories` | 🔒 Outside the pinned model |
|
||||
| `ReplicateImage` | 🔒 Outside the pinned model |
|
||||
|
||||
### Notes
|
||||
### Not applicable
|
||||
|
||||
1. Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.
|
||||
These operations describe AWS-hosted features this platform does not offer.
|
||||
|
||||
| Operation | Reason |
|
||||
|---|---|
|
||||
| `BatchGetRepositoryScanningConfiguration` | Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty. |
|
||||
| `DescribeImageScanFindings` | Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty. |
|
||||
| `GetRegistryScanningConfiguration` | Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty. |
|
||||
| `PutImageScanningConfiguration` | Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty. |
|
||||
| `PutRegistryScanningConfiguration` | Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty. |
|
||||
| `StartImageScan` | Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty. |
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Repository metadata is served over the AWS API on the gateway endpoint. Image data moves over the OCI Distribution `/v2/` endpoint on that same host, authenticated by the bearer token `GetAuthorizationToken` mints for `docker login`.
|
||||
|
||||
The split explains the largest group of unimplemented operations below. The layer-transfer operations — `BatchCheckLayerAvailability`, `InitiateLayerUpload`, `UploadLayerPart`, `CompleteLayerUpload` and `GetDownloadUrlForLayer` — are registered stubs because the `/v2/` endpoint carries that traffic instead. A client using `docker` or any OCI-compatible tool never calls them.
|
||||
The split explains the stubs below. The layer-transfer operations — `BatchCheckLayerAvailability`, `InitiateLayerUpload`, `UploadLayerPart`, `CompleteLayerUpload` and `GetDownloadUrlForLayer` — are registered stubs because the `/v2/` endpoint carries that traffic instead. A client using `docker` or any OCI-compatible tool never calls them.
|
||||
|
||||
Registry replication is absent as well: a deployment is a single registry, with no cross-region peer to replicate to.
|
||||
Registry replication is a stub for the same kind of reason: a deployment is a single registry, with no cross-region peer to replicate to.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "ECS API Coverage"
|
||||
seoTitle: "Elastic Container Service API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the Amazon ECS API model and whether Spinifex implements it, covering clusters, services, tasks and container instances on each build."
|
||||
description: "The Amazon ECS API operations Spinifex implements, covering clusters, services, tasks and container instances, with those the platform does not offer."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,7 +18,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **31 of the 56** operations (**55.4%**) in the ECS `2014-11-13` API model.
|
||||
Spinifex implements **31 operations** in the ECS `2014-11-13` API model.
|
||||
|
||||
### No Fargate
|
||||
|
||||
@@ -31,14 +31,9 @@ Clusters, services and tasks run on EC2 container instances. There is no Fargate
|
||||
| `CreateCapacityProvider` | ✅ Implemented |
|
||||
| `CreateCluster` | ✅ Implemented |
|
||||
| `CreateService` | ✅ Implemented |
|
||||
| `CreateTaskSet` | ❌ Not implemented |
|
||||
| `DeleteAccountSetting` | ❌ Not implemented |
|
||||
| `DeleteAttributes` | ❌ Not implemented |
|
||||
| `DeleteCapacityProvider` | ✅ Implemented |
|
||||
| `DeleteCluster` | ✅ Implemented |
|
||||
| `DeleteService` | ✅ Implemented |
|
||||
| `DeleteTaskDefinitions` | ❌ Not implemented |
|
||||
| `DeleteTaskSet` | ❌ Not implemented |
|
||||
| `DeregisterContainerInstance` | ✅ Implemented |
|
||||
| `DeregisterTaskDefinition` | ✅ Implemented |
|
||||
| `DescribeCapacityProviders` | ✅ Implemented |
|
||||
@@ -46,13 +41,8 @@ Clusters, services and tasks run on EC2 container instances. There is no Fargate
|
||||
| `DescribeContainerInstances` | ✅ Implemented |
|
||||
| `DescribeServices` | ✅ Implemented |
|
||||
| `DescribeTaskDefinition` | ✅ Implemented |
|
||||
| `DescribeTaskSets` | ❌ Not implemented |
|
||||
| `DescribeTasks` | ✅ Implemented |
|
||||
| `DiscoverPollEndpoint` | ❌ Not implemented |
|
||||
| `ExecuteCommand` | ❌ Not implemented |
|
||||
| `GetTaskProtection` | ❌ Not implemented |
|
||||
| `ListAccountSettings` | 🟡 Stub |
|
||||
| `ListAttributes` | ❌ Not implemented |
|
||||
| `ListClusters` | ✅ Implemented |
|
||||
| `ListContainerInstances` | ✅ Implemented |
|
||||
| `ListServices` | ✅ Implemented |
|
||||
@@ -62,25 +52,15 @@ Clusters, services and tasks run on EC2 container instances. There is no Fargate
|
||||
| `ListTaskDefinitions` | ✅ Implemented |
|
||||
| `ListTasks` | ✅ Implemented |
|
||||
| `PutAccountSetting` | 🟡 Stub |
|
||||
| `PutAccountSettingDefault` | ❌ Not implemented |
|
||||
| `PutAttributes` | ❌ Not implemented |
|
||||
| `PutClusterCapacityProviders` | ✅ Implemented |
|
||||
| `RegisterContainerInstance` | ✅ Implemented |
|
||||
| `RegisterTaskDefinition` | ✅ Implemented |
|
||||
| `RunTask` | ✅ Implemented |
|
||||
| `StartTask` | ✅ Implemented |
|
||||
| `StopTask` | ✅ Implemented |
|
||||
| `SubmitAttachmentStateChanges` | ❌ Not implemented |
|
||||
| `SubmitContainerStateChange` | ❌ Not implemented |
|
||||
| `SubmitTaskStateChange` | ✅ Implemented |
|
||||
| `TagResource` | ✅ Implemented |
|
||||
| `UntagResource` | ✅ Implemented |
|
||||
| `UpdateCapacityProvider` | ❌ Not implemented |
|
||||
| `UpdateCluster` | 🟡 Stub |
|
||||
| `UpdateClusterSettings` | ❌ Not implemented |
|
||||
| `UpdateContainerAgent` | ❌ Not implemented |
|
||||
| `UpdateContainerInstancesState` | ✅ Implemented |
|
||||
| `UpdateService` | ✅ Implemented |
|
||||
| `UpdateServicePrimaryTaskSet` | ❌ Not implemented |
|
||||
| `UpdateTaskProtection` | ❌ Not implemented |
|
||||
| `UpdateTaskSet` | ❌ Not implemented |
|
||||
|
||||
+38
-60
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "EKS API Coverage"
|
||||
seoTitle: "Elastic Kubernetes Service API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the Amazon EKS API model and whether Spinifex implements it, covering clusters, nodegroups, add-ons and access entries on each build."
|
||||
description: "The Amazon EKS API operations Spinifex implements, covering clusters, nodegroups, add-ons and access entries, with those the platform does not offer and why."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,65 +18,43 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **34 of the 56** operations (**60.7%**) in the EKS `2017-11-01` API model.
|
||||
Spinifex implements **34 operations** in the EKS `2017-11-01` API model.
|
||||
|
||||
### Operations
|
||||
|
||||
| Operation | Status |
|
||||
|---|---|
|
||||
| `AssociateAccessPolicy` | ✅ Implemented |
|
||||
| `AssociateEncryptionConfig` | ❌ Not implemented |
|
||||
| `AssociateIdentityProviderConfig` | ✅ Implemented |
|
||||
| `CreateAccessEntry` | ✅ Implemented |
|
||||
| `CreateAddon` | ✅ Implemented |
|
||||
| `CreateCluster` | ✅ Implemented |
|
||||
| `CreateEksAnywhereSubscription` | ❌ Not implemented |
|
||||
| `CreateFargateProfile` | ❌ Not implemented |
|
||||
| `CreateNodegroup` | ✅ Implemented |
|
||||
| `CreatePodIdentityAssociation` | ❌ Not implemented |
|
||||
| `DeleteAccessEntry` | ✅ Implemented |
|
||||
| `DeleteAddon` | ✅ Implemented |
|
||||
| `DeleteCluster` | ✅ Implemented |
|
||||
| `DeleteEksAnywhereSubscription` | ❌ Not implemented |
|
||||
| `DeleteFargateProfile` | ❌ Not implemented |
|
||||
| `DeleteNodegroup` | ✅ Implemented |
|
||||
| `DeletePodIdentityAssociation` | ❌ Not implemented |
|
||||
| `DeregisterCluster` | ❌ Not implemented |
|
||||
| `DescribeAccessEntry` | ✅ Implemented |
|
||||
| `DescribeAddon` | ✅ Implemented |
|
||||
| `DescribeAddonConfiguration` | ❌ Not implemented |
|
||||
| `DescribeAddonVersions` | ✅ Implemented |
|
||||
| `DescribeCluster` | ✅ Implemented |
|
||||
| `DescribeEksAnywhereSubscription` | ❌ Not implemented |
|
||||
| `DescribeFargateProfile` | ❌ Not implemented |
|
||||
| `DescribeIdentityProviderConfig` | ✅ Implemented |
|
||||
| `DescribeInsight` | ❌ Not implemented |
|
||||
| `DescribeNodegroup` | ✅ Implemented |
|
||||
| `DescribePodIdentityAssociation` | ❌ Not implemented |
|
||||
| `DescribeUpdate` | ❌ Not implemented |
|
||||
| `DisassociateAccessPolicy` | ✅ Implemented |
|
||||
| `DisassociateIdentityProviderConfig` | ✅ Implemented |
|
||||
| `ListAccessEntries` | ✅ Implemented |
|
||||
| `ListAccessPolicies` | ✅ Implemented |
|
||||
| `ListAddons` | ✅ Implemented |
|
||||
| `ListAssociatedAccessPolicies` | ✅ Implemented |
|
||||
| `ListClusters` | ✅ Implemented |
|
||||
| `ListEksAnywhereSubscriptions` | ❌ Not implemented |
|
||||
| `ListFargateProfiles` | ❌ Not implemented |
|
||||
| `ListIdentityProviderConfigs` | ✅ Implemented |
|
||||
| `ListInsights` | ❌ Not implemented |
|
||||
| `ListNodegroups` | ✅ Implemented |
|
||||
| `ListPodIdentityAssociations` | ❌ Not implemented |
|
||||
| `ListTagsForResource` | ✅ Implemented |
|
||||
| `ListUpdates` | ❌ Not implemented |
|
||||
| `RegisterCluster` | ❌ Not implemented |
|
||||
| `TagResource` | ✅ Implemented |
|
||||
| `UntagResource` | ✅ Implemented |
|
||||
| `UpdateAccessEntry` | ✅ Implemented |
|
||||
| `UpdateAddon` | ✅ Implemented |
|
||||
| `UpdateClusterConfig` | ✅ Implemented |
|
||||
| `UpdateClusterVersion` | ✅ Implemented |
|
||||
| `UpdateEksAnywhereSubscription` | ❌ Not implemented |
|
||||
| `UpdateNodegroupConfig` | ✅ Implemented |
|
||||
| `UpdateNodegroupVersion` | ✅ Implemented |
|
||||
| `UpdatePodIdentityAssociation` | ❌ Not implemented |
|
||||
| Operation |
|
||||
|---|
|
||||
| `AssociateAccessPolicy` |
|
||||
| `AssociateIdentityProviderConfig` |
|
||||
| `CreateAccessEntry` |
|
||||
| `CreateAddon` |
|
||||
| `CreateCluster` |
|
||||
| `CreateNodegroup` |
|
||||
| `DeleteAccessEntry` |
|
||||
| `DeleteAddon` |
|
||||
| `DeleteCluster` |
|
||||
| `DeleteNodegroup` |
|
||||
| `DescribeAccessEntry` |
|
||||
| `DescribeAddon` |
|
||||
| `DescribeAddonVersions` |
|
||||
| `DescribeCluster` |
|
||||
| `DescribeIdentityProviderConfig` |
|
||||
| `DescribeNodegroup` |
|
||||
| `DisassociateAccessPolicy` |
|
||||
| `DisassociateIdentityProviderConfig` |
|
||||
| `ListAccessEntries` |
|
||||
| `ListAccessPolicies` |
|
||||
| `ListAddons` |
|
||||
| `ListAssociatedAccessPolicies` |
|
||||
| `ListClusters` |
|
||||
| `ListIdentityProviderConfigs` |
|
||||
| `ListNodegroups` |
|
||||
| `ListTagsForResource` |
|
||||
| `TagResource` |
|
||||
| `UntagResource` |
|
||||
| `UpdateAccessEntry` |
|
||||
| `UpdateAddon` |
|
||||
| `UpdateClusterConfig` |
|
||||
| `UpdateClusterVersion` |
|
||||
| `UpdateNodegroupConfig` |
|
||||
| `UpdateNodegroupVersion` |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "ELBv2 API Coverage"
|
||||
seoTitle: "Elastic Load Balancing v2 API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the Elastic Load Balancing v2 API model and whether Spinifex implements it, for both the Application and Network Load Balancers it serves."
|
||||
description: "The Elastic Load Balancing v2 API operations Spinifex implements, for both the Application and Network Load Balancers it serves, with those it does not."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,7 +18,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **34 of the 46** operations (**73.9%**) in the ELBv2 `2015-12-01` API model.
|
||||
Spinifex implements **34 operations** in the ELBv2 `2015-12-01` API model.
|
||||
|
||||
### Two data planes
|
||||
|
||||
@@ -30,18 +30,14 @@ The data plane is a system-managed load balancer VM, launched automatically duri
|
||||
|---|---|
|
||||
| `AddListenerCertificates` | ✅ Implemented |
|
||||
| `AddTags` | ✅ Implemented |
|
||||
| `AddTrustStoreRevocations` | ❌ Not implemented |
|
||||
| `CreateListener` | ✅ Implemented |
|
||||
| `CreateLoadBalancer` | ✅ Implemented |
|
||||
| `CreateRule` | ✅ Implemented |
|
||||
| `CreateTargetGroup` | ✅ Implemented |
|
||||
| `CreateTrustStore` | ❌ Not implemented |
|
||||
| `DeleteListener` | ✅ Implemented |
|
||||
| `DeleteLoadBalancer` | ✅ Implemented |
|
||||
| `DeleteRule` | ✅ Implemented |
|
||||
| `DeleteSharedTrustStoreAssociation` | ❌ Not implemented |
|
||||
| `DeleteTargetGroup` | ✅ Implemented |
|
||||
| `DeleteTrustStore` | ❌ Not implemented |
|
||||
| `DeregisterTargets` | ✅ Implemented |
|
||||
| `DescribeAccountLimits` | ✅ Implemented |
|
||||
| `DescribeListenerCertificates` | ✅ Implemented |
|
||||
@@ -54,22 +50,14 @@ The data plane is a system-managed load balancer VM, launched automatically duri
|
||||
| `DescribeTargetGroupAttributes` | ✅ Implemented |
|
||||
| `DescribeTargetGroups` | ✅ Implemented |
|
||||
| `DescribeTargetHealth` | ✅ Implemented |
|
||||
| `DescribeTrustStoreAssociations` | ❌ Not implemented |
|
||||
| `DescribeTrustStoreRevocations` | ❌ Not implemented |
|
||||
| `DescribeTrustStores` | ❌ Not implemented |
|
||||
| `GetResourcePolicy` | ❌ Not implemented |
|
||||
| `GetTrustStoreCaCertificatesBundle` | ❌ Not implemented |
|
||||
| `GetTrustStoreRevocationContent` | ❌ Not implemented |
|
||||
| `ModifyListener` | ✅ Implemented |
|
||||
| `ModifyLoadBalancerAttributes` | ✅ Implemented |
|
||||
| `ModifyRule` | ✅ Implemented |
|
||||
| `ModifyTargetGroup` | ✅ Implemented |
|
||||
| `ModifyTargetGroupAttributes` | ✅ Implemented |
|
||||
| `ModifyTrustStore` | ❌ Not implemented |
|
||||
| `RegisterTargets` | ✅ Implemented |
|
||||
| `RemoveListenerCertificates` | ✅ Implemented |
|
||||
| `RemoveTags` | ✅ Implemented |
|
||||
| `RemoveTrustStoreRevocations` | ❌ Not implemented |
|
||||
| `SetIpAddressType` | ✅ Implemented |
|
||||
| `SetRulePriorities` | ✅ Implemented |
|
||||
| `SetSecurityGroups` | ✅ Implemented |
|
||||
|
||||
+104
-169
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "IAM API Coverage"
|
||||
seoTitle: "AWS IAM API Operation Coverage on Spinifex — Spinifex Docs"
|
||||
description: "Every operation in the AWS IAM API model and whether Spinifex implements it, covering users, roles, policies, groups and instance profiles on each build."
|
||||
description: "The AWS IAM API operations Spinifex implements, covering users, roles, policies, groups and instance profiles, with those the platform does not offer."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,7 +18,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **75 of the 159** operations (**47.2%**) in the IAM `2010-05-08` API model.
|
||||
Spinifex implements **75 operations** in the IAM `2010-05-08` API model.
|
||||
|
||||
### Scope
|
||||
|
||||
@@ -26,171 +26,106 @@ All IAM operations are account-scoped. The root user of an account bypasses poli
|
||||
|
||||
### Operations
|
||||
|
||||
| Operation | Status |
|
||||
| Operation |
|
||||
|---|
|
||||
| `AddRoleToInstanceProfile` |
|
||||
| `AddUserToGroup` |
|
||||
| `AttachGroupPolicy` |
|
||||
| `AttachRolePolicy` |
|
||||
| `AttachUserPolicy` |
|
||||
| `CreateAccessKey` |
|
||||
| `CreateGroup` |
|
||||
| `CreateInstanceProfile` |
|
||||
| `CreateOpenIDConnectProvider` |
|
||||
| `CreatePolicy` |
|
||||
| `CreateRole` |
|
||||
| `CreateUser` |
|
||||
| `DeleteAccessKey` |
|
||||
| `DeleteGroup` |
|
||||
| `DeleteGroupPolicy` |
|
||||
| `DeleteInstanceProfile` |
|
||||
| `DeleteOpenIDConnectProvider` |
|
||||
| `DeletePolicy` |
|
||||
| `DeleteRole` |
|
||||
| `DeleteRolePolicy` |
|
||||
| `DeleteUser` |
|
||||
| `DeleteUserPolicy` |
|
||||
| `DetachGroupPolicy` |
|
||||
| `DetachRolePolicy` |
|
||||
| `DetachUserPolicy` |
|
||||
| `GetAccountSummary` |
|
||||
| `GetGroup` |
|
||||
| `GetGroupPolicy` |
|
||||
| `GetInstanceProfile` |
|
||||
| `GetOpenIDConnectProvider` |
|
||||
| `GetPolicy` |
|
||||
| `GetPolicyVersion` |
|
||||
| `GetRole` |
|
||||
| `GetRolePolicy` |
|
||||
| `GetUser` |
|
||||
| `GetUserPolicy` |
|
||||
| `ListAccessKeys` |
|
||||
| `ListAttachedGroupPolicies` |
|
||||
| `ListAttachedRolePolicies` |
|
||||
| `ListAttachedUserPolicies` |
|
||||
| `ListGroupPolicies` |
|
||||
| `ListGroups` |
|
||||
| `ListGroupsForUser` |
|
||||
| `ListInstanceProfileTags` |
|
||||
| `ListInstanceProfiles` |
|
||||
| `ListInstanceProfilesForRole` |
|
||||
| `ListOpenIDConnectProviderTags` |
|
||||
| `ListOpenIDConnectProviders` |
|
||||
| `ListPolicies` |
|
||||
| `ListPolicyTags` |
|
||||
| `ListPolicyVersions` |
|
||||
| `ListRolePolicies` |
|
||||
| `ListRoleTags` |
|
||||
| `ListRoles` |
|
||||
| `ListUserPolicies` |
|
||||
| `ListUserTags` |
|
||||
| `ListUsers` |
|
||||
| `PutGroupPolicy` |
|
||||
| `PutRolePolicy` |
|
||||
| `PutUserPolicy` |
|
||||
| `RemoveRoleFromInstanceProfile` |
|
||||
| `RemoveUserFromGroup` |
|
||||
| `TagInstanceProfile` |
|
||||
| `TagOpenIDConnectProvider` |
|
||||
| `TagPolicy` |
|
||||
| `TagRole` |
|
||||
| `TagUser` |
|
||||
| `UntagInstanceProfile` |
|
||||
| `UntagOpenIDConnectProvider` |
|
||||
| `UntagPolicy` |
|
||||
| `UntagRole` |
|
||||
| `UntagUser` |
|
||||
| `UpdateAccessKey` |
|
||||
| `UpdateAssumeRolePolicy` |
|
||||
| `UpdateRole` |
|
||||
|
||||
### Not applicable
|
||||
|
||||
These operations describe AWS-hosted features this platform does not offer.
|
||||
|
||||
| Operation | Reason |
|
||||
|---|---|
|
||||
| `AddClientIDToOpenIDConnectProvider` | ❌ Not implemented |
|
||||
| `AddRoleToInstanceProfile` | ✅ Implemented |
|
||||
| `AddUserToGroup` | ✅ Implemented |
|
||||
| `AttachGroupPolicy` | ✅ Implemented |
|
||||
| `AttachRolePolicy` | ✅ Implemented |
|
||||
| `AttachUserPolicy` | ✅ Implemented |
|
||||
| `ChangePassword` | ❌ Not implemented |
|
||||
| `CreateAccessKey` | ✅ Implemented |
|
||||
| `CreateAccountAlias` | ❌ Not implemented |
|
||||
| `CreateGroup` | ✅ Implemented |
|
||||
| `CreateInstanceProfile` | ✅ Implemented |
|
||||
| `CreateLoginProfile` | ❌ Not implemented |
|
||||
| `CreateOpenIDConnectProvider` | ✅ Implemented |
|
||||
| `CreatePolicy` | ✅ Implemented |
|
||||
| `CreatePolicyVersion` | ❌ Not implemented |
|
||||
| `CreateRole` | ✅ Implemented |
|
||||
| `CreateSAMLProvider` | ❌ Not implemented |
|
||||
| `CreateServiceLinkedRole` | ⛔ Not applicable [3](#notes) |
|
||||
| `CreateServiceSpecificCredential` | ⛔ Not applicable [1](#notes) |
|
||||
| `CreateUser` | ✅ Implemented |
|
||||
| `CreateVirtualMFADevice` | ❌ Not implemented |
|
||||
| `DeactivateMFADevice` | ❌ Not implemented |
|
||||
| `DeleteAccessKey` | ✅ Implemented |
|
||||
| `DeleteAccountAlias` | ❌ Not implemented |
|
||||
| `DeleteAccountPasswordPolicy` | ❌ Not implemented |
|
||||
| `DeleteGroup` | ✅ Implemented |
|
||||
| `DeleteGroupPolicy` | ✅ Implemented |
|
||||
| `DeleteInstanceProfile` | ✅ Implemented |
|
||||
| `DeleteLoginProfile` | ❌ Not implemented |
|
||||
| `DeleteOpenIDConnectProvider` | ✅ Implemented |
|
||||
| `DeletePolicy` | ✅ Implemented |
|
||||
| `DeletePolicyVersion` | ❌ Not implemented |
|
||||
| `DeleteRole` | ✅ Implemented |
|
||||
| `DeleteRolePermissionsBoundary` | ❌ Not implemented |
|
||||
| `DeleteRolePolicy` | ✅ Implemented |
|
||||
| `DeleteSAMLProvider` | ❌ Not implemented |
|
||||
| `DeleteSSHPublicKey` | ⛔ Not applicable [1](#notes) |
|
||||
| `DeleteServerCertificate` | ❌ Not implemented |
|
||||
| `DeleteServiceLinkedRole` | ⛔ Not applicable [3](#notes) |
|
||||
| `DeleteServiceSpecificCredential` | ⛔ Not applicable [1](#notes) |
|
||||
| `DeleteSigningCertificate` | ⛔ Not applicable [4](#notes) |
|
||||
| `DeleteUser` | ✅ Implemented |
|
||||
| `DeleteUserPermissionsBoundary` | ❌ Not implemented |
|
||||
| `DeleteUserPolicy` | ✅ Implemented |
|
||||
| `DeleteVirtualMFADevice` | ❌ Not implemented |
|
||||
| `DetachGroupPolicy` | ✅ Implemented |
|
||||
| `DetachRolePolicy` | ✅ Implemented |
|
||||
| `DetachUserPolicy` | ✅ Implemented |
|
||||
| `EnableMFADevice` | ❌ Not implemented |
|
||||
| `GenerateCredentialReport` | ❌ Not implemented |
|
||||
| `GenerateOrganizationsAccessReport` | ⛔ Not applicable [2](#notes) |
|
||||
| `GenerateServiceLastAccessedDetails` | ❌ Not implemented |
|
||||
| `GetAccessKeyLastUsed` | ❌ Not implemented |
|
||||
| `GetAccountAuthorizationDetails` | ❌ Not implemented |
|
||||
| `GetAccountPasswordPolicy` | ❌ Not implemented |
|
||||
| `GetAccountSummary` | ✅ Implemented |
|
||||
| `GetContextKeysForCustomPolicy` | ❌ Not implemented |
|
||||
| `GetContextKeysForPrincipalPolicy` | ❌ Not implemented |
|
||||
| `GetCredentialReport` | ❌ Not implemented |
|
||||
| `GetGroup` | ✅ Implemented |
|
||||
| `GetGroupPolicy` | ✅ Implemented |
|
||||
| `GetInstanceProfile` | ✅ Implemented |
|
||||
| `GetLoginProfile` | ❌ Not implemented |
|
||||
| `GetMFADevice` | ❌ Not implemented |
|
||||
| `GetOpenIDConnectProvider` | ✅ Implemented |
|
||||
| `GetOrganizationsAccessReport` | ⛔ Not applicable [2](#notes) |
|
||||
| `GetPolicy` | ✅ Implemented |
|
||||
| `GetPolicyVersion` | ✅ Implemented |
|
||||
| `GetRole` | ✅ Implemented |
|
||||
| `GetRolePolicy` | ✅ Implemented |
|
||||
| `GetSAMLProvider` | ❌ Not implemented |
|
||||
| `GetSSHPublicKey` | ⛔ Not applicable [1](#notes) |
|
||||
| `GetServerCertificate` | ❌ Not implemented |
|
||||
| `GetServiceLastAccessedDetails` | ❌ Not implemented |
|
||||
| `GetServiceLastAccessedDetailsWithEntities` | ❌ Not implemented |
|
||||
| `GetServiceLinkedRoleDeletionStatus` | ⛔ Not applicable [3](#notes) |
|
||||
| `GetUser` | ✅ Implemented |
|
||||
| `GetUserPolicy` | ✅ Implemented |
|
||||
| `ListAccessKeys` | ✅ Implemented |
|
||||
| `ListAccountAliases` | ❌ Not implemented |
|
||||
| `ListAttachedGroupPolicies` | ✅ Implemented |
|
||||
| `ListAttachedRolePolicies` | ✅ Implemented |
|
||||
| `ListAttachedUserPolicies` | ✅ Implemented |
|
||||
| `ListEntitiesForPolicy` | ❌ Not implemented |
|
||||
| `ListGroupPolicies` | ✅ Implemented |
|
||||
| `ListGroups` | ✅ Implemented |
|
||||
| `ListGroupsForUser` | ✅ Implemented |
|
||||
| `ListInstanceProfileTags` | ✅ Implemented |
|
||||
| `ListInstanceProfiles` | ✅ Implemented |
|
||||
| `ListInstanceProfilesForRole` | ✅ Implemented |
|
||||
| `ListMFADeviceTags` | ❌ Not implemented |
|
||||
| `ListMFADevices` | ❌ Not implemented |
|
||||
| `ListOpenIDConnectProviderTags` | ✅ Implemented |
|
||||
| `ListOpenIDConnectProviders` | ✅ Implemented |
|
||||
| `ListPolicies` | ✅ Implemented |
|
||||
| `ListPoliciesGrantingServiceAccess` | ❌ Not implemented |
|
||||
| `ListPolicyTags` | ✅ Implemented |
|
||||
| `ListPolicyVersions` | ✅ Implemented |
|
||||
| `ListRolePolicies` | ✅ Implemented |
|
||||
| `ListRoleTags` | ✅ Implemented |
|
||||
| `ListRoles` | ✅ Implemented |
|
||||
| `ListSAMLProviderTags` | ❌ Not implemented |
|
||||
| `ListSAMLProviders` | ❌ Not implemented |
|
||||
| `ListSSHPublicKeys` | ⛔ Not applicable [1](#notes) |
|
||||
| `ListServerCertificateTags` | ❌ Not implemented |
|
||||
| `ListServerCertificates` | ❌ Not implemented |
|
||||
| `ListServiceSpecificCredentials` | ⛔ Not applicable [1](#notes) |
|
||||
| `ListSigningCertificates` | ⛔ Not applicable [4](#notes) |
|
||||
| `ListUserPolicies` | ✅ Implemented |
|
||||
| `ListUserTags` | ✅ Implemented |
|
||||
| `ListUsers` | ✅ Implemented |
|
||||
| `ListVirtualMFADevices` | ❌ Not implemented |
|
||||
| `PutGroupPolicy` | ✅ Implemented |
|
||||
| `PutRolePermissionsBoundary` | ❌ Not implemented |
|
||||
| `PutRolePolicy` | ✅ Implemented |
|
||||
| `PutUserPermissionsBoundary` | ❌ Not implemented |
|
||||
| `PutUserPolicy` | ✅ Implemented |
|
||||
| `RemoveClientIDFromOpenIDConnectProvider` | ❌ Not implemented |
|
||||
| `RemoveRoleFromInstanceProfile` | ✅ Implemented |
|
||||
| `RemoveUserFromGroup` | ✅ Implemented |
|
||||
| `ResetServiceSpecificCredential` | ⛔ Not applicable [1](#notes) |
|
||||
| `ResyncMFADevice` | ❌ Not implemented |
|
||||
| `SetDefaultPolicyVersion` | ❌ Not implemented |
|
||||
| `SetSecurityTokenServicePreferences` | ❌ Not implemented |
|
||||
| `SimulateCustomPolicy` | ❌ Not implemented |
|
||||
| `SimulatePrincipalPolicy` | ❌ Not implemented |
|
||||
| `TagInstanceProfile` | ✅ Implemented |
|
||||
| `TagMFADevice` | ❌ Not implemented |
|
||||
| `TagOpenIDConnectProvider` | ✅ Implemented |
|
||||
| `TagPolicy` | ✅ Implemented |
|
||||
| `TagRole` | ✅ Implemented |
|
||||
| `TagSAMLProvider` | ❌ Not implemented |
|
||||
| `TagServerCertificate` | ❌ Not implemented |
|
||||
| `TagUser` | ✅ Implemented |
|
||||
| `UntagInstanceProfile` | ✅ Implemented |
|
||||
| `UntagMFADevice` | ❌ Not implemented |
|
||||
| `UntagOpenIDConnectProvider` | ✅ Implemented |
|
||||
| `UntagPolicy` | ✅ Implemented |
|
||||
| `UntagRole` | ✅ Implemented |
|
||||
| `UntagSAMLProvider` | ❌ Not implemented |
|
||||
| `UntagServerCertificate` | ❌ Not implemented |
|
||||
| `UntagUser` | ✅ Implemented |
|
||||
| `UpdateAccessKey` | ✅ Implemented |
|
||||
| `UpdateAccountPasswordPolicy` | ❌ Not implemented |
|
||||
| `UpdateAssumeRolePolicy` | ✅ Implemented |
|
||||
| `UpdateGroup` | ❌ Not implemented |
|
||||
| `UpdateLoginProfile` | ❌ Not implemented |
|
||||
| `UpdateOpenIDConnectProviderThumbprint` | ❌ Not implemented |
|
||||
| `UpdateRole` | ✅ Implemented |
|
||||
| `UpdateRoleDescription` | ❌ Not implemented |
|
||||
| `UpdateSAMLProvider` | ❌ Not implemented |
|
||||
| `UpdateSSHPublicKey` | ⛔ Not applicable [1](#notes) |
|
||||
| `UpdateServerCertificate` | ❌ Not implemented |
|
||||
| `UpdateServiceSpecificCredential` | ⛔ Not applicable [1](#notes) |
|
||||
| `UpdateSigningCertificate` | ⛔ Not applicable [4](#notes) |
|
||||
| `UpdateUser` | ❌ Not implemented |
|
||||
| `UploadSSHPublicKey` | ⛔ Not applicable [1](#notes) |
|
||||
| `UploadServerCertificate` | ❌ Not implemented |
|
||||
| `UploadSigningCertificate` | ⛔ Not applicable [4](#notes) |
|
||||
|
||||
### Notes
|
||||
|
||||
1. CodeCommit credentials and SSH keys; the service does not exist here.
|
||||
2. AWS Organizations is not offered, so there is no organization to report on.
|
||||
3. Service-linked roles exist for AWS service principals, which this platform has none of.
|
||||
4. X.509 signing certificates are an EC2-Classic SOAP credential, retired by AWS.
|
||||
| `CreateServiceLinkedRole` | Service-linked roles exist for AWS service principals, which this platform has none of. |
|
||||
| `CreateServiceSpecificCredential` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `DeleteSSHPublicKey` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `DeleteServiceLinkedRole` | Service-linked roles exist for AWS service principals, which this platform has none of. |
|
||||
| `DeleteServiceSpecificCredential` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `DeleteSigningCertificate` | X.509 signing certificates are an EC2-Classic SOAP credential, retired by AWS. |
|
||||
| `GenerateOrganizationsAccessReport` | AWS Organizations is not offered, so there is no organization to report on. |
|
||||
| `GetOrganizationsAccessReport` | AWS Organizations is not offered, so there is no organization to report on. |
|
||||
| `GetSSHPublicKey` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `GetServiceLinkedRoleDeletionStatus` | Service-linked roles exist for AWS service principals, which this platform has none of. |
|
||||
| `ListSSHPublicKeys` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `ListServiceSpecificCredentials` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `ListSigningCertificates` | X.509 signing certificates are an EC2-Classic SOAP credential, retired by AWS. |
|
||||
| `ResetServiceSpecificCredential` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `UpdateSSHPublicKey` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `UpdateServiceSpecificCredential` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `UpdateSigningCertificate` | X.509 signing certificates are an EC2-Classic SOAP credential, retired by AWS. |
|
||||
| `UploadSSHPublicKey` | CodeCommit credentials and SSH keys; the service does not exist here. |
|
||||
| `UploadSigningCertificate` | X.509 signing certificates are an EC2-Classic SOAP credential, retired by AWS. |
|
||||
|
||||
@@ -0,0 +1,938 @@
|
||||
# AWS Model Operation Coverage (internal)
|
||||
|
||||
Generated by `make aws-model-coverage`. This file is not published: it carries the counts and the unimplemented operations that the pages under this directory deliberately leave out.
|
||||
|
||||
Pinned model source: `aws-sdk-go v1.55.8`.
|
||||
|
||||
## acm
|
||||
|
||||
`2015-12-08` — 9 of 15 modelled operations implemented (60.0%), 0 stubbed, 0 unsupported, 0 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `ExportCertificate`
|
||||
- `GetAccountConfiguration`
|
||||
- `PutAccountConfiguration`
|
||||
- `RenewCertificate`
|
||||
- `ResendValidationEmail`
|
||||
- `UpdateCertificateOptions`
|
||||
|
||||
## ec2
|
||||
|
||||
`2016-11-15` — 125 of 625 modelled operations implemented (20.0%), 0 stubbed, 0 unsupported, 0 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `AcceptAddressTransfer`
|
||||
- `AcceptReservedInstancesExchangeQuote`
|
||||
- `AcceptTransitGatewayMulticastDomainAssociations`
|
||||
- `AcceptTransitGatewayPeeringAttachment`
|
||||
- `AcceptTransitGatewayVpcAttachment`
|
||||
- `AcceptVpcEndpointConnections`
|
||||
- `AcceptVpcPeeringConnection`
|
||||
- `AdvertiseByoipCidr`
|
||||
- `AllocateHosts`
|
||||
- `AllocateIpamPoolCidr`
|
||||
- `ApplySecurityGroupsToClientVpnTargetNetwork`
|
||||
- `AssignIpv6Addresses`
|
||||
- `AssignPrivateIpAddresses`
|
||||
- `AssignPrivateNatGatewayAddress`
|
||||
- `AssociateClientVpnTargetNetwork`
|
||||
- `AssociateDhcpOptions`
|
||||
- `AssociateEnclaveCertificateIamRole`
|
||||
- `AssociateInstanceEventWindow`
|
||||
- `AssociateIpamByoasn`
|
||||
- `AssociateIpamResourceDiscovery`
|
||||
- `AssociateNatGatewayAddress`
|
||||
- `AssociateSubnetCidrBlock`
|
||||
- `AssociateTransitGatewayMulticastDomain`
|
||||
- `AssociateTransitGatewayPolicyTable`
|
||||
- `AssociateTransitGatewayRouteTable`
|
||||
- `AssociateTrunkInterface`
|
||||
- `AssociateVpcCidrBlock`
|
||||
- `AttachClassicLinkVpc`
|
||||
- `AttachVerifiedAccessTrustProvider`
|
||||
- `AttachVpnGateway`
|
||||
- `AuthorizeClientVpnIngress`
|
||||
- `BundleInstance`
|
||||
- `CancelBundleTask`
|
||||
- `CancelCapacityReservationFleets`
|
||||
- `CancelConversionTask`
|
||||
- `CancelExportTask`
|
||||
- `CancelImageLaunchPermission`
|
||||
- `CancelImportTask`
|
||||
- `CancelReservedInstancesListing`
|
||||
- `CancelSpotFleetRequests`
|
||||
- `ConfirmProductInstance`
|
||||
- `CopyFpgaImage`
|
||||
- `CreateCapacityReservationFleet`
|
||||
- `CreateCarrierGateway`
|
||||
- `CreateClientVpnEndpoint`
|
||||
- `CreateClientVpnRoute`
|
||||
- `CreateCoipCidr`
|
||||
- `CreateCoipPool`
|
||||
- `CreateCustomerGateway`
|
||||
- `CreateDefaultSubnet`
|
||||
- `CreateDefaultVpc`
|
||||
- `CreateDhcpOptions`
|
||||
- `CreateFleet`
|
||||
- `CreateFlowLogs`
|
||||
- `CreateFpgaImage`
|
||||
- `CreateInstanceConnectEndpoint`
|
||||
- `CreateInstanceEventWindow`
|
||||
- `CreateInstanceExportTask`
|
||||
- `CreateIpam`
|
||||
- `CreateIpamExternalResourceVerificationToken`
|
||||
- `CreateIpamPool`
|
||||
- `CreateIpamResourceDiscovery`
|
||||
- `CreateIpamScope`
|
||||
- `CreateLocalGatewayRoute`
|
||||
- `CreateLocalGatewayRouteTable`
|
||||
- `CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation`
|
||||
- `CreateLocalGatewayRouteTableVpcAssociation`
|
||||
- `CreateManagedPrefixList`
|
||||
- `CreateNetworkAcl`
|
||||
- `CreateNetworkAclEntry`
|
||||
- `CreateNetworkInsightsAccessScope`
|
||||
- `CreateNetworkInsightsPath`
|
||||
- `CreateNetworkInterfacePermission`
|
||||
- `CreatePublicIpv4Pool`
|
||||
- `CreateReplaceRootVolumeTask`
|
||||
- `CreateReservedInstancesListing`
|
||||
- `CreateRestoreImageTask`
|
||||
- `CreateSnapshots`
|
||||
- `CreateSpotDatafeedSubscription`
|
||||
- `CreateStoreImageTask`
|
||||
- `CreateSubnetCidrReservation`
|
||||
- `CreateTrafficMirrorFilter`
|
||||
- `CreateTrafficMirrorFilterRule`
|
||||
- `CreateTrafficMirrorSession`
|
||||
- `CreateTrafficMirrorTarget`
|
||||
- `CreateTransitGateway`
|
||||
- `CreateTransitGatewayConnect`
|
||||
- `CreateTransitGatewayConnectPeer`
|
||||
- `CreateTransitGatewayMulticastDomain`
|
||||
- `CreateTransitGatewayPeeringAttachment`
|
||||
- `CreateTransitGatewayPolicyTable`
|
||||
- `CreateTransitGatewayPrefixListReference`
|
||||
- `CreateTransitGatewayRoute`
|
||||
- `CreateTransitGatewayRouteTable`
|
||||
- `CreateTransitGatewayRouteTableAnnouncement`
|
||||
- `CreateTransitGatewayVpcAttachment`
|
||||
- `CreateVerifiedAccessEndpoint`
|
||||
- `CreateVerifiedAccessGroup`
|
||||
- `CreateVerifiedAccessInstance`
|
||||
- `CreateVerifiedAccessTrustProvider`
|
||||
- `CreateVpcEndpoint`
|
||||
- `CreateVpcEndpointConnectionNotification`
|
||||
- `CreateVpcEndpointServiceConfiguration`
|
||||
- `CreateVpcPeeringConnection`
|
||||
- `CreateVpnConnection`
|
||||
- `CreateVpnConnectionRoute`
|
||||
- `CreateVpnGateway`
|
||||
- `DeleteCarrierGateway`
|
||||
- `DeleteClientVpnEndpoint`
|
||||
- `DeleteClientVpnRoute`
|
||||
- `DeleteCoipCidr`
|
||||
- `DeleteCoipPool`
|
||||
- `DeleteCustomerGateway`
|
||||
- `DeleteDhcpOptions`
|
||||
- `DeleteFleets`
|
||||
- `DeleteFlowLogs`
|
||||
- `DeleteFpgaImage`
|
||||
- `DeleteInstanceConnectEndpoint`
|
||||
- `DeleteInstanceEventWindow`
|
||||
- `DeleteIpam`
|
||||
- `DeleteIpamExternalResourceVerificationToken`
|
||||
- `DeleteIpamPool`
|
||||
- `DeleteIpamResourceDiscovery`
|
||||
- `DeleteIpamScope`
|
||||
- `DeleteLocalGatewayRoute`
|
||||
- `DeleteLocalGatewayRouteTable`
|
||||
- `DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation`
|
||||
- `DeleteLocalGatewayRouteTableVpcAssociation`
|
||||
- `DeleteManagedPrefixList`
|
||||
- `DeleteNetworkAcl`
|
||||
- `DeleteNetworkAclEntry`
|
||||
- `DeleteNetworkInsightsAccessScope`
|
||||
- `DeleteNetworkInsightsAccessScopeAnalysis`
|
||||
- `DeleteNetworkInsightsAnalysis`
|
||||
- `DeleteNetworkInsightsPath`
|
||||
- `DeleteNetworkInterfacePermission`
|
||||
- `DeletePublicIpv4Pool`
|
||||
- `DeleteQueuedReservedInstances`
|
||||
- `DeleteSpotDatafeedSubscription`
|
||||
- `DeleteSubnetCidrReservation`
|
||||
- `DeleteTrafficMirrorFilter`
|
||||
- `DeleteTrafficMirrorFilterRule`
|
||||
- `DeleteTrafficMirrorSession`
|
||||
- `DeleteTrafficMirrorTarget`
|
||||
- `DeleteTransitGateway`
|
||||
- `DeleteTransitGatewayConnect`
|
||||
- `DeleteTransitGatewayConnectPeer`
|
||||
- `DeleteTransitGatewayMulticastDomain`
|
||||
- `DeleteTransitGatewayPeeringAttachment`
|
||||
- `DeleteTransitGatewayPolicyTable`
|
||||
- `DeleteTransitGatewayPrefixListReference`
|
||||
- `DeleteTransitGatewayRoute`
|
||||
- `DeleteTransitGatewayRouteTable`
|
||||
- `DeleteTransitGatewayRouteTableAnnouncement`
|
||||
- `DeleteTransitGatewayVpcAttachment`
|
||||
- `DeleteVerifiedAccessEndpoint`
|
||||
- `DeleteVerifiedAccessGroup`
|
||||
- `DeleteVerifiedAccessInstance`
|
||||
- `DeleteVerifiedAccessTrustProvider`
|
||||
- `DeleteVpcEndpointConnectionNotifications`
|
||||
- `DeleteVpcEndpointServiceConfigurations`
|
||||
- `DeleteVpcEndpoints`
|
||||
- `DeleteVpcPeeringConnection`
|
||||
- `DeleteVpnConnection`
|
||||
- `DeleteVpnConnectionRoute`
|
||||
- `DeleteVpnGateway`
|
||||
- `DeprovisionByoipCidr`
|
||||
- `DeprovisionIpamByoasn`
|
||||
- `DeprovisionIpamPoolCidr`
|
||||
- `DeprovisionPublicIpv4PoolCidr`
|
||||
- `DeregisterInstanceEventNotificationAttributes`
|
||||
- `DeregisterTransitGatewayMulticastGroupMembers`
|
||||
- `DeregisterTransitGatewayMulticastGroupSources`
|
||||
- `DescribeAddressTransfers`
|
||||
- `DescribeAggregateIdFormat`
|
||||
- `DescribeAwsNetworkPerformanceMetricSubscriptions`
|
||||
- `DescribeBundleTasks`
|
||||
- `DescribeByoipCidrs`
|
||||
- `DescribeCapacityBlockOfferings`
|
||||
- `DescribeCapacityReservationFleets`
|
||||
- `DescribeCarrierGateways`
|
||||
- `DescribeClassicLinkInstances`
|
||||
- `DescribeClientVpnAuthorizationRules`
|
||||
- `DescribeClientVpnConnections`
|
||||
- `DescribeClientVpnEndpoints`
|
||||
- `DescribeClientVpnRoutes`
|
||||
- `DescribeClientVpnTargetNetworks`
|
||||
- `DescribeCoipPools`
|
||||
- `DescribeConversionTasks`
|
||||
- `DescribeCustomerGateways`
|
||||
- `DescribeDhcpOptions`
|
||||
- `DescribeElasticGpus`
|
||||
- `DescribeExportImageTasks`
|
||||
- `DescribeExportTasks`
|
||||
- `DescribeFastLaunchImages`
|
||||
- `DescribeFastSnapshotRestores`
|
||||
- `DescribeFleetHistory`
|
||||
- `DescribeFleetInstances`
|
||||
- `DescribeFleets`
|
||||
- `DescribeFlowLogs`
|
||||
- `DescribeFpgaImageAttribute`
|
||||
- `DescribeFpgaImages`
|
||||
- `DescribeHostReservationOfferings`
|
||||
- `DescribeHostReservations`
|
||||
- `DescribeHosts`
|
||||
- `DescribeIdFormat`
|
||||
- `DescribeIdentityIdFormat`
|
||||
- `DescribeImportImageTasks`
|
||||
- `DescribeImportSnapshotTasks`
|
||||
- `DescribeInstanceConnectEndpoints`
|
||||
- `DescribeInstanceEventNotificationAttributes`
|
||||
- `DescribeInstanceEventWindows`
|
||||
- `DescribeInstanceTopology`
|
||||
- `DescribeIpamByoasn`
|
||||
- `DescribeIpamExternalResourceVerificationTokens`
|
||||
- `DescribeIpamPools`
|
||||
- `DescribeIpamResourceDiscoveries`
|
||||
- `DescribeIpamResourceDiscoveryAssociations`
|
||||
- `DescribeIpamScopes`
|
||||
- `DescribeIpams`
|
||||
- `DescribeIpv6Pools`
|
||||
- `DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations`
|
||||
- `DescribeLocalGatewayRouteTableVpcAssociations`
|
||||
- `DescribeLocalGatewayRouteTables`
|
||||
- `DescribeLocalGatewayVirtualInterfaceGroups`
|
||||
- `DescribeLocalGatewayVirtualInterfaces`
|
||||
- `DescribeLocalGateways`
|
||||
- `DescribeLockedSnapshots`
|
||||
- `DescribeMacHosts`
|
||||
- `DescribeManagedPrefixLists`
|
||||
- `DescribeMovingAddresses`
|
||||
- `DescribeNetworkAcls`
|
||||
- `DescribeNetworkInsightsAccessScopeAnalyses`
|
||||
- `DescribeNetworkInsightsAccessScopes`
|
||||
- `DescribeNetworkInsightsAnalyses`
|
||||
- `DescribeNetworkInsightsPaths`
|
||||
- `DescribeNetworkInterfaceAttribute`
|
||||
- `DescribeNetworkInterfacePermissions`
|
||||
- `DescribePrefixLists`
|
||||
- `DescribePrincipalIdFormat`
|
||||
- `DescribePublicIpv4Pools`
|
||||
- `DescribeReplaceRootVolumeTasks`
|
||||
- `DescribeReservedInstances`
|
||||
- `DescribeReservedInstancesListings`
|
||||
- `DescribeReservedInstancesModifications`
|
||||
- `DescribeReservedInstancesOfferings`
|
||||
- `DescribeScheduledInstanceAvailability`
|
||||
- `DescribeScheduledInstances`
|
||||
- `DescribeSecurityGroupReferences`
|
||||
- `DescribeSnapshotAttribute`
|
||||
- `DescribeSnapshotTierStatus`
|
||||
- `DescribeSpotDatafeedSubscription`
|
||||
- `DescribeSpotFleetInstances`
|
||||
- `DescribeSpotFleetRequestHistory`
|
||||
- `DescribeSpotFleetRequests`
|
||||
- `DescribeSpotPriceHistory`
|
||||
- `DescribeStaleSecurityGroups`
|
||||
- `DescribeStoreImageTasks`
|
||||
- `DescribeTrafficMirrorFilterRules`
|
||||
- `DescribeTrafficMirrorFilters`
|
||||
- `DescribeTrafficMirrorSessions`
|
||||
- `DescribeTrafficMirrorTargets`
|
||||
- `DescribeTransitGatewayAttachments`
|
||||
- `DescribeTransitGatewayConnectPeers`
|
||||
- `DescribeTransitGatewayConnects`
|
||||
- `DescribeTransitGatewayMulticastDomains`
|
||||
- `DescribeTransitGatewayPeeringAttachments`
|
||||
- `DescribeTransitGatewayPolicyTables`
|
||||
- `DescribeTransitGatewayRouteTableAnnouncements`
|
||||
- `DescribeTransitGatewayRouteTables`
|
||||
- `DescribeTransitGatewayVpcAttachments`
|
||||
- `DescribeTransitGateways`
|
||||
- `DescribeTrunkInterfaceAssociations`
|
||||
- `DescribeVerifiedAccessEndpoints`
|
||||
- `DescribeVerifiedAccessGroups`
|
||||
- `DescribeVerifiedAccessInstanceLoggingConfigurations`
|
||||
- `DescribeVerifiedAccessInstances`
|
||||
- `DescribeVerifiedAccessTrustProviders`
|
||||
- `DescribeVolumeAttribute`
|
||||
- `DescribeVpcClassicLink`
|
||||
- `DescribeVpcClassicLinkDnsSupport`
|
||||
- `DescribeVpcEndpointConnectionNotifications`
|
||||
- `DescribeVpcEndpointConnections`
|
||||
- `DescribeVpcEndpointServiceConfigurations`
|
||||
- `DescribeVpcEndpointServicePermissions`
|
||||
- `DescribeVpcEndpointServices`
|
||||
- `DescribeVpcEndpoints`
|
||||
- `DescribeVpcPeeringConnections`
|
||||
- `DescribeVpnConnections`
|
||||
- `DescribeVpnGateways`
|
||||
- `DetachClassicLinkVpc`
|
||||
- `DetachVerifiedAccessTrustProvider`
|
||||
- `DetachVpnGateway`
|
||||
- `DisableAddressTransfer`
|
||||
- `DisableAwsNetworkPerformanceMetricSubscription`
|
||||
- `DisableFastLaunch`
|
||||
- `DisableFastSnapshotRestores`
|
||||
- `DisableImage`
|
||||
- `DisableImageBlockPublicAccess`
|
||||
- `DisableImageDeprecation`
|
||||
- `DisableImageDeregistrationProtection`
|
||||
- `DisableIpamOrganizationAdminAccount`
|
||||
- `DisableSnapshotBlockPublicAccess`
|
||||
- `DisableTransitGatewayRouteTablePropagation`
|
||||
- `DisableVgwRoutePropagation`
|
||||
- `DisableVpcClassicLink`
|
||||
- `DisableVpcClassicLinkDnsSupport`
|
||||
- `DisassociateClientVpnTargetNetwork`
|
||||
- `DisassociateEnclaveCertificateIamRole`
|
||||
- `DisassociateInstanceEventWindow`
|
||||
- `DisassociateIpamByoasn`
|
||||
- `DisassociateIpamResourceDiscovery`
|
||||
- `DisassociateNatGatewayAddress`
|
||||
- `DisassociateSubnetCidrBlock`
|
||||
- `DisassociateTransitGatewayMulticastDomain`
|
||||
- `DisassociateTransitGatewayPolicyTable`
|
||||
- `DisassociateTransitGatewayRouteTable`
|
||||
- `DisassociateTrunkInterface`
|
||||
- `DisassociateVpcCidrBlock`
|
||||
- `EnableAddressTransfer`
|
||||
- `EnableAwsNetworkPerformanceMetricSubscription`
|
||||
- `EnableFastLaunch`
|
||||
- `EnableFastSnapshotRestores`
|
||||
- `EnableImage`
|
||||
- `EnableImageBlockPublicAccess`
|
||||
- `EnableImageDeprecation`
|
||||
- `EnableImageDeregistrationProtection`
|
||||
- `EnableIpamOrganizationAdminAccount`
|
||||
- `EnableReachabilityAnalyzerOrganizationSharing`
|
||||
- `EnableSnapshotBlockPublicAccess`
|
||||
- `EnableTransitGatewayRouteTablePropagation`
|
||||
- `EnableVgwRoutePropagation`
|
||||
- `EnableVolumeIO`
|
||||
- `EnableVpcClassicLink`
|
||||
- `EnableVpcClassicLinkDnsSupport`
|
||||
- `ExportClientVpnClientCertificateRevocationList`
|
||||
- `ExportClientVpnClientConfiguration`
|
||||
- `ExportImage`
|
||||
- `ExportTransitGatewayRoutes`
|
||||
- `GetAssociatedEnclaveCertificateIamRoles`
|
||||
- `GetAssociatedIpv6PoolCidrs`
|
||||
- `GetAwsNetworkPerformanceData`
|
||||
- `GetCapacityReservationUsage`
|
||||
- `GetCoipPoolUsage`
|
||||
- `GetConsoleScreenshot`
|
||||
- `GetDefaultCreditSpecification`
|
||||
- `GetEbsDefaultKmsKeyId`
|
||||
- `GetFlowLogsIntegrationTemplate`
|
||||
- `GetGroupsForCapacityReservation`
|
||||
- `GetHostReservationPurchasePreview`
|
||||
- `GetImageBlockPublicAccessState`
|
||||
- `GetInstanceMetadataDefaults`
|
||||
- `GetInstanceTpmEkPub`
|
||||
- `GetInstanceTypesFromInstanceRequirements`
|
||||
- `GetInstanceUefiData`
|
||||
- `GetIpamAddressHistory`
|
||||
- `GetIpamDiscoveredAccounts`
|
||||
- `GetIpamDiscoveredPublicAddresses`
|
||||
- `GetIpamDiscoveredResourceCidrs`
|
||||
- `GetIpamPoolAllocations`
|
||||
- `GetIpamPoolCidrs`
|
||||
- `GetIpamResourceCidrs`
|
||||
- `GetLaunchTemplateData`
|
||||
- `GetManagedPrefixListAssociations`
|
||||
- `GetManagedPrefixListEntries`
|
||||
- `GetNetworkInsightsAccessScopeAnalysisFindings`
|
||||
- `GetNetworkInsightsAccessScopeContent`
|
||||
- `GetReservedInstancesExchangeQuote`
|
||||
- `GetSnapshotBlockPublicAccessState`
|
||||
- `GetSpotPlacementScores`
|
||||
- `GetSubnetCidrReservations`
|
||||
- `GetTransitGatewayAttachmentPropagations`
|
||||
- `GetTransitGatewayMulticastDomainAssociations`
|
||||
- `GetTransitGatewayPolicyTableAssociations`
|
||||
- `GetTransitGatewayPolicyTableEntries`
|
||||
- `GetTransitGatewayPrefixListReferences`
|
||||
- `GetTransitGatewayRouteTableAssociations`
|
||||
- `GetTransitGatewayRouteTablePropagations`
|
||||
- `GetVerifiedAccessEndpointPolicy`
|
||||
- `GetVerifiedAccessGroupPolicy`
|
||||
- `GetVpnConnectionDeviceSampleConfiguration`
|
||||
- `GetVpnConnectionDeviceTypes`
|
||||
- `GetVpnTunnelReplacementStatus`
|
||||
- `ImportClientVpnClientCertificateRevocationList`
|
||||
- `ImportImage`
|
||||
- `ImportInstance`
|
||||
- `ImportSnapshot`
|
||||
- `ImportVolume`
|
||||
- `ListImagesInRecycleBin`
|
||||
- `ListSnapshotsInRecycleBin`
|
||||
- `LockSnapshot`
|
||||
- `ModifyAddressAttribute`
|
||||
- `ModifyAvailabilityZoneGroup`
|
||||
- `ModifyCapacityReservation`
|
||||
- `ModifyCapacityReservationFleet`
|
||||
- `ModifyClientVpnEndpoint`
|
||||
- `ModifyDefaultCreditSpecification`
|
||||
- `ModifyEbsDefaultKmsKeyId`
|
||||
- `ModifyFleet`
|
||||
- `ModifyFpgaImageAttribute`
|
||||
- `ModifyHosts`
|
||||
- `ModifyIdFormat`
|
||||
- `ModifyIdentityIdFormat`
|
||||
- `ModifyInstanceCapacityReservationAttributes`
|
||||
- `ModifyInstanceCreditSpecification`
|
||||
- `ModifyInstanceEventStartTime`
|
||||
- `ModifyInstanceEventWindow`
|
||||
- `ModifyInstanceMaintenanceOptions`
|
||||
- `ModifyInstanceMetadataDefaults`
|
||||
- `ModifyInstancePlacement`
|
||||
- `ModifyIpam`
|
||||
- `ModifyIpamPool`
|
||||
- `ModifyIpamResourceCidr`
|
||||
- `ModifyIpamResourceDiscovery`
|
||||
- `ModifyIpamScope`
|
||||
- `ModifyLocalGatewayRoute`
|
||||
- `ModifyManagedPrefixList`
|
||||
- `ModifyPrivateDnsNameOptions`
|
||||
- `ModifyReservedInstances`
|
||||
- `ModifySecurityGroupRules`
|
||||
- `ModifySnapshotAttribute`
|
||||
- `ModifySnapshotTier`
|
||||
- `ModifySpotFleetRequest`
|
||||
- `ModifyTrafficMirrorFilterNetworkServices`
|
||||
- `ModifyTrafficMirrorFilterRule`
|
||||
- `ModifyTrafficMirrorSession`
|
||||
- `ModifyTransitGateway`
|
||||
- `ModifyTransitGatewayPrefixListReference`
|
||||
- `ModifyTransitGatewayVpcAttachment`
|
||||
- `ModifyVerifiedAccessEndpoint`
|
||||
- `ModifyVerifiedAccessEndpointPolicy`
|
||||
- `ModifyVerifiedAccessGroup`
|
||||
- `ModifyVerifiedAccessGroupPolicy`
|
||||
- `ModifyVerifiedAccessInstance`
|
||||
- `ModifyVerifiedAccessInstanceLoggingConfiguration`
|
||||
- `ModifyVerifiedAccessTrustProvider`
|
||||
- `ModifyVolumeAttribute`
|
||||
- `ModifyVpcEndpoint`
|
||||
- `ModifyVpcEndpointConnectionNotification`
|
||||
- `ModifyVpcEndpointServiceConfiguration`
|
||||
- `ModifyVpcEndpointServicePayerResponsibility`
|
||||
- `ModifyVpcEndpointServicePermissions`
|
||||
- `ModifyVpcPeeringConnectionOptions`
|
||||
- `ModifyVpcTenancy`
|
||||
- `ModifyVpnConnection`
|
||||
- `ModifyVpnConnectionOptions`
|
||||
- `ModifyVpnTunnelCertificate`
|
||||
- `ModifyVpnTunnelOptions`
|
||||
- `MoveAddressToVpc`
|
||||
- `MoveByoipCidrToIpam`
|
||||
- `ProvisionByoipCidr`
|
||||
- `ProvisionIpamByoasn`
|
||||
- `ProvisionIpamPoolCidr`
|
||||
- `ProvisionPublicIpv4PoolCidr`
|
||||
- `PurchaseCapacityBlock`
|
||||
- `PurchaseHostReservation`
|
||||
- `PurchaseReservedInstancesOffering`
|
||||
- `PurchaseScheduledInstances`
|
||||
- `RegisterInstanceEventNotificationAttributes`
|
||||
- `RegisterTransitGatewayMulticastGroupMembers`
|
||||
- `RegisterTransitGatewayMulticastGroupSources`
|
||||
- `RejectTransitGatewayMulticastDomainAssociations`
|
||||
- `RejectTransitGatewayPeeringAttachment`
|
||||
- `RejectTransitGatewayVpcAttachment`
|
||||
- `RejectVpcEndpointConnections`
|
||||
- `RejectVpcPeeringConnection`
|
||||
- `ReleaseHosts`
|
||||
- `ReleaseIpamPoolAllocation`
|
||||
- `ReplaceNetworkAclAssociation`
|
||||
- `ReplaceNetworkAclEntry`
|
||||
- `ReplaceTransitGatewayRoute`
|
||||
- `ReplaceVpnTunnel`
|
||||
- `ReportInstanceStatus`
|
||||
- `RequestSpotFleet`
|
||||
- `ResetAddressAttribute`
|
||||
- `ResetEbsDefaultKmsKeyId`
|
||||
- `ResetFpgaImageAttribute`
|
||||
- `ResetInstanceAttribute`
|
||||
- `ResetNetworkInterfaceAttribute`
|
||||
- `ResetSnapshotAttribute`
|
||||
- `RestoreAddressToClassic`
|
||||
- `RestoreImageFromRecycleBin`
|
||||
- `RestoreManagedPrefixListVersion`
|
||||
- `RestoreSnapshotFromRecycleBin`
|
||||
- `RestoreSnapshotTier`
|
||||
- `RevokeClientVpnIngress`
|
||||
- `RunScheduledInstances`
|
||||
- `SearchLocalGatewayRoutes`
|
||||
- `SearchTransitGatewayMulticastGroups`
|
||||
- `SearchTransitGatewayRoutes`
|
||||
- `SendDiagnosticInterrupt`
|
||||
- `StartNetworkInsightsAccessScopeAnalysis`
|
||||
- `StartNetworkInsightsAnalysis`
|
||||
- `StartVpcEndpointServicePrivateDnsVerification`
|
||||
- `TerminateClientVpnConnections`
|
||||
- `UnassignIpv6Addresses`
|
||||
- `UnassignPrivateIpAddresses`
|
||||
- `UnassignPrivateNatGatewayAddress`
|
||||
- `UnlockSnapshot`
|
||||
- `WithdrawByoipCidr`
|
||||
|
||||
## ecr
|
||||
|
||||
`2015-09-21` — 19 of 47 modelled operations implemented (40.4%), 13 stubbed, 7 unsupported, 3 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `CreatePullThroughCacheRule`
|
||||
- `CreateRepositoryCreationTemplate`
|
||||
- `DeletePullThroughCacheRule`
|
||||
- `DeleteRegistryPolicy`
|
||||
- `DeleteRepositoryCreationTemplate`
|
||||
- `DescribeImageReplicationStatus`
|
||||
- `DescribePullThroughCacheRules`
|
||||
- `DescribeRepositoryCreationTemplates`
|
||||
- `UpdatePullThroughCacheRule`
|
||||
- `UpdateRepositoryCreationTemplate`
|
||||
- `ValidatePullThroughCacheRule`
|
||||
|
||||
### Stubbed
|
||||
|
||||
- `BatchCheckLayerAvailability`
|
||||
- `CompleteLayerUpload`
|
||||
- `DescribeRegistry`
|
||||
- `GetDownloadUrlForLayer`
|
||||
- `GetRegistryPolicy`
|
||||
- `InitiateLayerUpload`
|
||||
- `ListRepositories`
|
||||
- `PutRegistryPolicy`
|
||||
- `PutReplicationConfiguration`
|
||||
- `ReplicateImage`
|
||||
- `TagResource`
|
||||
- `UntagResource`
|
||||
- `UploadLayerPart`
|
||||
|
||||
### Registered and refused
|
||||
|
||||
- `BatchGetRepositoryScanningConfiguration`
|
||||
- `DescribeImageScanFindings`
|
||||
- `GetImageScanningConfiguration`
|
||||
- `GetRegistryScanningConfiguration`
|
||||
- `PutImageScanningConfiguration`
|
||||
- `PutRegistryScanningConfiguration`
|
||||
- `StartImageScan`
|
||||
|
||||
### Registered outside the pinned model
|
||||
|
||||
- `GetImageScanningConfiguration`
|
||||
- `ListRepositories`
|
||||
- `ReplicateImage`
|
||||
|
||||
## ecs
|
||||
|
||||
`2014-11-13` — 31 of 56 modelled operations implemented (55.4%), 5 stubbed, 0 unsupported, 3 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `CreateTaskSet`
|
||||
- `DeleteAccountSetting`
|
||||
- `DeleteAttributes`
|
||||
- `DeleteTaskDefinitions`
|
||||
- `DeleteTaskSet`
|
||||
- `DescribeTaskSets`
|
||||
- `DiscoverPollEndpoint`
|
||||
- `ExecuteCommand`
|
||||
- `GetTaskProtection`
|
||||
- `ListAttributes`
|
||||
- `PutAccountSettingDefault`
|
||||
- `PutAttributes`
|
||||
- `SubmitAttachmentStateChanges`
|
||||
- `SubmitContainerStateChange`
|
||||
- `UpdateCapacityProvider`
|
||||
- `UpdateClusterSettings`
|
||||
- `UpdateContainerAgent`
|
||||
- `UpdateServicePrimaryTaskSet`
|
||||
- `UpdateTaskProtection`
|
||||
- `UpdateTaskSet`
|
||||
|
||||
### Stubbed
|
||||
|
||||
- `ListAccountSettings`
|
||||
- `ListServicesByNamespace`
|
||||
- `ListTaskDefinitionFamilies`
|
||||
- `PutAccountSetting`
|
||||
- `UpdateCluster`
|
||||
|
||||
### Registered outside the pinned model
|
||||
|
||||
- `PollAssignments`
|
||||
- `ProvisionCapacity`
|
||||
- `ReportTaskGPU`
|
||||
|
||||
## eks
|
||||
|
||||
`2017-11-01` — 34 of 56 modelled operations implemented (60.7%), 0 stubbed, 0 unsupported, 4 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `AssociateEncryptionConfig`
|
||||
- `CreateEksAnywhereSubscription`
|
||||
- `CreateFargateProfile`
|
||||
- `CreatePodIdentityAssociation`
|
||||
- `DeleteEksAnywhereSubscription`
|
||||
- `DeleteFargateProfile`
|
||||
- `DeletePodIdentityAssociation`
|
||||
- `DeregisterCluster`
|
||||
- `DescribeAddonConfiguration`
|
||||
- `DescribeEksAnywhereSubscription`
|
||||
- `DescribeFargateProfile`
|
||||
- `DescribeInsight`
|
||||
- `DescribePodIdentityAssociation`
|
||||
- `DescribeUpdate`
|
||||
- `ListEksAnywhereSubscriptions`
|
||||
- `ListFargateProfiles`
|
||||
- `ListInsights`
|
||||
- `ListPodIdentityAssociations`
|
||||
- `ListUpdates`
|
||||
- `RegisterCluster`
|
||||
- `UpdateEksAnywhereSubscription`
|
||||
- `UpdatePodIdentityAssociation`
|
||||
|
||||
### Registered outside the pinned model
|
||||
|
||||
- `GetRecoveryDirective`
|
||||
- `ListInternalAddons`
|
||||
- `PublishInternal`
|
||||
- `WebhookTokenReview`
|
||||
|
||||
## elasticloadbalancingv2
|
||||
|
||||
`2015-12-01` — 34 of 46 modelled operations implemented (73.9%), 0 stubbed, 0 unsupported, 4 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `AddTrustStoreRevocations`
|
||||
- `CreateTrustStore`
|
||||
- `DeleteSharedTrustStoreAssociation`
|
||||
- `DeleteTrustStore`
|
||||
- `DescribeTrustStoreAssociations`
|
||||
- `DescribeTrustStoreRevocations`
|
||||
- `DescribeTrustStores`
|
||||
- `GetResourcePolicy`
|
||||
- `GetTrustStoreCaCertificatesBundle`
|
||||
- `GetTrustStoreRevocationContent`
|
||||
- `ModifyTrustStore`
|
||||
- `RemoveTrustStoreRevocations`
|
||||
|
||||
### Registered outside the pinned model
|
||||
|
||||
- `DescribeListenerAttributes`
|
||||
- `GetLBConfig`
|
||||
- `LBAgentHeartbeat`
|
||||
- `ModifyListenerAttributes`
|
||||
|
||||
## iam
|
||||
|
||||
`2010-05-08` — 75 of 159 modelled operations implemented (47.2%), 0 stubbed, 0 unsupported, 0 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `AddClientIDToOpenIDConnectProvider`
|
||||
- `ChangePassword`
|
||||
- `CreateAccountAlias`
|
||||
- `CreateLoginProfile`
|
||||
- `CreatePolicyVersion`
|
||||
- `CreateSAMLProvider`
|
||||
- `CreateServiceLinkedRole`
|
||||
- `CreateServiceSpecificCredential`
|
||||
- `CreateVirtualMFADevice`
|
||||
- `DeactivateMFADevice`
|
||||
- `DeleteAccountAlias`
|
||||
- `DeleteAccountPasswordPolicy`
|
||||
- `DeleteLoginProfile`
|
||||
- `DeletePolicyVersion`
|
||||
- `DeleteRolePermissionsBoundary`
|
||||
- `DeleteSAMLProvider`
|
||||
- `DeleteSSHPublicKey`
|
||||
- `DeleteServerCertificate`
|
||||
- `DeleteServiceLinkedRole`
|
||||
- `DeleteServiceSpecificCredential`
|
||||
- `DeleteSigningCertificate`
|
||||
- `DeleteUserPermissionsBoundary`
|
||||
- `DeleteVirtualMFADevice`
|
||||
- `EnableMFADevice`
|
||||
- `GenerateCredentialReport`
|
||||
- `GenerateOrganizationsAccessReport`
|
||||
- `GenerateServiceLastAccessedDetails`
|
||||
- `GetAccessKeyLastUsed`
|
||||
- `GetAccountAuthorizationDetails`
|
||||
- `GetAccountPasswordPolicy`
|
||||
- `GetContextKeysForCustomPolicy`
|
||||
- `GetContextKeysForPrincipalPolicy`
|
||||
- `GetCredentialReport`
|
||||
- `GetLoginProfile`
|
||||
- `GetMFADevice`
|
||||
- `GetOrganizationsAccessReport`
|
||||
- `GetSAMLProvider`
|
||||
- `GetSSHPublicKey`
|
||||
- `GetServerCertificate`
|
||||
- `GetServiceLastAccessedDetails`
|
||||
- `GetServiceLastAccessedDetailsWithEntities`
|
||||
- `GetServiceLinkedRoleDeletionStatus`
|
||||
- `ListAccountAliases`
|
||||
- `ListEntitiesForPolicy`
|
||||
- `ListMFADeviceTags`
|
||||
- `ListMFADevices`
|
||||
- `ListPoliciesGrantingServiceAccess`
|
||||
- `ListSAMLProviderTags`
|
||||
- `ListSAMLProviders`
|
||||
- `ListSSHPublicKeys`
|
||||
- `ListServerCertificateTags`
|
||||
- `ListServerCertificates`
|
||||
- `ListServiceSpecificCredentials`
|
||||
- `ListSigningCertificates`
|
||||
- `ListVirtualMFADevices`
|
||||
- `PutRolePermissionsBoundary`
|
||||
- `PutUserPermissionsBoundary`
|
||||
- `RemoveClientIDFromOpenIDConnectProvider`
|
||||
- `ResetServiceSpecificCredential`
|
||||
- `ResyncMFADevice`
|
||||
- `SetDefaultPolicyVersion`
|
||||
- `SetSecurityTokenServicePreferences`
|
||||
- `SimulateCustomPolicy`
|
||||
- `SimulatePrincipalPolicy`
|
||||
- `TagMFADevice`
|
||||
- `TagSAMLProvider`
|
||||
- `TagServerCertificate`
|
||||
- `UntagMFADevice`
|
||||
- `UntagSAMLProvider`
|
||||
- `UntagServerCertificate`
|
||||
- `UpdateAccountPasswordPolicy`
|
||||
- `UpdateGroup`
|
||||
- `UpdateLoginProfile`
|
||||
- `UpdateOpenIDConnectProviderThumbprint`
|
||||
- `UpdateRoleDescription`
|
||||
- `UpdateSAMLProvider`
|
||||
- `UpdateSSHPublicKey`
|
||||
- `UpdateServerCertificate`
|
||||
- `UpdateServiceSpecificCredential`
|
||||
- `UpdateSigningCertificate`
|
||||
- `UpdateUser`
|
||||
- `UploadSSHPublicKey`
|
||||
- `UploadServerCertificate`
|
||||
- `UploadSigningCertificate`
|
||||
|
||||
## rds
|
||||
|
||||
`2014-10-31` — 26 of 162 modelled operations implemented (16.0%), 0 stubbed, 12 unsupported, 5 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `AddRoleToDBCluster`
|
||||
- `AddRoleToDBInstance`
|
||||
- `AddSourceIdentifierToSubscription`
|
||||
- `ApplyPendingMaintenanceAction`
|
||||
- `AuthorizeDBSecurityGroupIngress`
|
||||
- `BacktrackDBCluster`
|
||||
- `CancelExportTask`
|
||||
- `CopyDBClusterParameterGroup`
|
||||
- `CopyDBClusterSnapshot`
|
||||
- `CopyDBParameterGroup`
|
||||
- `CopyDBSnapshot`
|
||||
- `CopyOptionGroup`
|
||||
- `CreateBlueGreenDeployment`
|
||||
- `CreateCustomDBEngineVersion`
|
||||
- `CreateDBClusterEndpoint`
|
||||
- `CreateDBClusterParameterGroup`
|
||||
- `CreateDBClusterSnapshot`
|
||||
- `CreateDBProxy`
|
||||
- `CreateDBProxyEndpoint`
|
||||
- `CreateDBSecurityGroup`
|
||||
- `CreateDBShardGroup`
|
||||
- `CreateEventSubscription`
|
||||
- `CreateGlobalCluster`
|
||||
- `CreateIntegration`
|
||||
- `CreateTenantDatabase`
|
||||
- `DeleteBlueGreenDeployment`
|
||||
- `DeleteCustomDBEngineVersion`
|
||||
- `DeleteDBClusterAutomatedBackup`
|
||||
- `DeleteDBClusterEndpoint`
|
||||
- `DeleteDBClusterParameterGroup`
|
||||
- `DeleteDBClusterSnapshot`
|
||||
- `DeleteDBInstanceAutomatedBackup`
|
||||
- `DeleteDBProxy`
|
||||
- `DeleteDBProxyEndpoint`
|
||||
- `DeleteDBSecurityGroup`
|
||||
- `DeleteDBShardGroup`
|
||||
- `DeleteEventSubscription`
|
||||
- `DeleteGlobalCluster`
|
||||
- `DeleteIntegration`
|
||||
- `DeleteTenantDatabase`
|
||||
- `DeregisterDBProxyTargets`
|
||||
- `DescribeAccountAttributes`
|
||||
- `DescribeBlueGreenDeployments`
|
||||
- `DescribeCertificates`
|
||||
- `DescribeDBClusterAutomatedBackups`
|
||||
- `DescribeDBClusterBacktracks`
|
||||
- `DescribeDBClusterEndpoints`
|
||||
- `DescribeDBClusterParameterGroups`
|
||||
- `DescribeDBClusterParameters`
|
||||
- `DescribeDBClusterSnapshotAttributes`
|
||||
- `DescribeDBClusterSnapshots`
|
||||
- `DescribeDBLogFiles`
|
||||
- `DescribeDBProxies`
|
||||
- `DescribeDBProxyEndpoints`
|
||||
- `DescribeDBProxyTargetGroups`
|
||||
- `DescribeDBProxyTargets`
|
||||
- `DescribeDBRecommendations`
|
||||
- `DescribeDBSecurityGroups`
|
||||
- `DescribeDBShardGroups`
|
||||
- `DescribeDBSnapshotAttributes`
|
||||
- `DescribeDBSnapshotTenantDatabases`
|
||||
- `DescribeEngineDefaultClusterParameters`
|
||||
- `DescribeEngineDefaultParameters`
|
||||
- `DescribeEventCategories`
|
||||
- `DescribeEventSubscriptions`
|
||||
- `DescribeExportTasks`
|
||||
- `DescribeGlobalClusters`
|
||||
- `DescribeIntegrations`
|
||||
- `DescribeOptionGroupOptions`
|
||||
- `DescribePendingMaintenanceActions`
|
||||
- `DescribeReservedDBInstances`
|
||||
- `DescribeReservedDBInstancesOfferings`
|
||||
- `DescribeSourceRegions`
|
||||
- `DescribeTenantDatabases`
|
||||
- `DescribeValidDBInstanceModifications`
|
||||
- `DisableHttpEndpoint`
|
||||
- `DownloadDBLogFilePortion`
|
||||
- `EnableHttpEndpoint`
|
||||
- `FailoverGlobalCluster`
|
||||
- `ModifyActivityStream`
|
||||
- `ModifyCertificates`
|
||||
- `ModifyCurrentDBClusterCapacity`
|
||||
- `ModifyCustomDBEngineVersion`
|
||||
- `ModifyDBClusterEndpoint`
|
||||
- `ModifyDBClusterParameterGroup`
|
||||
- `ModifyDBClusterSnapshotAttribute`
|
||||
- `ModifyDBProxy`
|
||||
- `ModifyDBProxyEndpoint`
|
||||
- `ModifyDBProxyTargetGroup`
|
||||
- `ModifyDBRecommendation`
|
||||
- `ModifyDBShardGroup`
|
||||
- `ModifyDBSnapshot`
|
||||
- `ModifyDBSnapshotAttribute`
|
||||
- `ModifyDBSubnetGroup`
|
||||
- `ModifyEventSubscription`
|
||||
- `ModifyGlobalCluster`
|
||||
- `ModifyIntegration`
|
||||
- `ModifyTenantDatabase`
|
||||
- `PromoteReadReplicaDBCluster`
|
||||
- `PurchaseReservedDBInstancesOffering`
|
||||
- `RebootDBCluster`
|
||||
- `RebootDBShardGroup`
|
||||
- `RegisterDBProxyTargets`
|
||||
- `RemoveFromGlobalCluster`
|
||||
- `RemoveRoleFromDBCluster`
|
||||
- `RemoveRoleFromDBInstance`
|
||||
- `RemoveSourceIdentifierFromSubscription`
|
||||
- `ResetDBClusterParameterGroup`
|
||||
- `ResetDBParameterGroup`
|
||||
- `RestoreDBClusterFromS3`
|
||||
- `RestoreDBClusterFromSnapshot`
|
||||
- `RestoreDBClusterToPointInTime`
|
||||
- `RestoreDBInstanceFromS3`
|
||||
- `RevokeDBSecurityGroupIngress`
|
||||
- `StartActivityStream`
|
||||
- `StartDBCluster`
|
||||
- `StartDBInstanceAutomatedBackupsReplication`
|
||||
- `StartExportTask`
|
||||
- `StopActivityStream`
|
||||
- `StopDBCluster`
|
||||
- `StopDBInstanceAutomatedBackupsReplication`
|
||||
- `SwitchoverBlueGreenDeployment`
|
||||
- `SwitchoverGlobalCluster`
|
||||
- `SwitchoverReadReplica`
|
||||
|
||||
### Registered and refused
|
||||
|
||||
- `CreateDBCluster`
|
||||
- `CreateDBInstanceReadReplica`
|
||||
- `CreateOptionGroup`
|
||||
- `DeleteDBCluster`
|
||||
- `DeleteOptionGroup`
|
||||
- `DescribeDBClusters`
|
||||
- `DescribeOptionGroups`
|
||||
- `FailoverDBCluster`
|
||||
- `ModifyDBCluster`
|
||||
- `ModifyOptionGroup`
|
||||
- `PromoteReadReplica`
|
||||
- `RestoreDBInstanceToPointInTime`
|
||||
|
||||
### Registered outside the pinned model
|
||||
|
||||
- `AcknowledgeDBBootstrap`
|
||||
- `GetDBBootstrapConfig`
|
||||
- `PollDBCommands`
|
||||
- `RegisterDBInstance`
|
||||
- `SubmitDBStateChange`
|
||||
|
||||
## s3
|
||||
|
||||
`2006-03-01` — not enumerable. Spinifex delegates the S3 REST surface to Predastore, which has no operation-name dispatch table to compare mechanically.
|
||||
|
||||
## sts
|
||||
|
||||
`2011-06-15` — 5 of 8 modelled operations implemented (62.5%), 0 stubbed, 0 unsupported, 0 registered outside the pinned model.
|
||||
|
||||
### Not implemented
|
||||
|
||||
- `AssumeRoleWithSAML`
|
||||
- `DecodeAuthorizationMessage`
|
||||
- `GetFederationToken`
|
||||
|
||||
+10
-10
@@ -5,7 +5,7 @@
|
||||
"name": "All services",
|
||||
"title": "AWS API Coverage",
|
||||
"seoTitle": "Which AWS API Operations Spinifex Implements — Spinifex Docs",
|
||||
"description": "Operation-level coverage of every AWS API Spinifex serves, generated from its gateway dispatch tables and the pinned AWS SDK service models on each build.",
|
||||
"description": "The AWS API operations Spinifex serves, generated from its gateway dispatch tables and the pinned AWS SDK service models on each build, service by service.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -20,7 +20,7 @@
|
||||
"name": "ACM",
|
||||
"title": "ACM API Coverage",
|
||||
"seoTitle": "AWS Certificate Manager API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the AWS Certificate Manager API model and whether Spinifex implements it, generated from the gateway dispatch tables on each build.",
|
||||
"description": "The AWS Certificate Manager API operations Spinifex implements, generated from the gateway dispatch tables on each build, with those it does not offer and why.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -35,7 +35,7 @@
|
||||
"name": "EC2",
|
||||
"title": "EC2 API Coverage",
|
||||
"seoTitle": "Amazon EC2 API Coverage on Spinifex — Spinifex Docs",
|
||||
"description": "Every operation in the Amazon EC2 API model and whether Spinifex implements it, covering instances, EBS volumes, VPC networking, tags and security groups.",
|
||||
"description": "The Amazon EC2 API operations Spinifex implements, covering instances, EBS volumes, VPC networking, tags and security groups, with those it does not offer.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -56,7 +56,7 @@
|
||||
"name": "ECR",
|
||||
"title": "ECR API Coverage",
|
||||
"seoTitle": "Elastic Container Registry API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the Amazon ECR API model and whether Spinifex implements it, alongside the OCI distribution endpoint that carries the image layers.",
|
||||
"description": "The Amazon ECR API operations Spinifex implements, alongside the OCI distribution endpoint that carries the image layers, and those the platform will not.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -82,7 +82,7 @@
|
||||
"name": "ECS",
|
||||
"title": "ECS API Coverage",
|
||||
"seoTitle": "Elastic Container Service API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the Amazon ECS API model and whether Spinifex implements it, covering clusters, services, tasks and container instances on each build.",
|
||||
"description": "The Amazon ECS API operations Spinifex implements, covering clusters, services, tasks and container instances, with those the platform does not offer.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -102,7 +102,7 @@
|
||||
"name": "EKS",
|
||||
"title": "EKS API Coverage",
|
||||
"seoTitle": "Elastic Kubernetes Service API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the Amazon EKS API model and whether Spinifex implements it, covering clusters, nodegroups, add-ons and access entries on each build.",
|
||||
"description": "The Amazon EKS API operations Spinifex implements, covering clusters, nodegroups, add-ons and access entries, with those the platform does not offer and why.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -123,7 +123,7 @@
|
||||
"name": "ELBv2",
|
||||
"title": "ELBv2 API Coverage",
|
||||
"seoTitle": "Elastic Load Balancing v2 API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the Elastic Load Balancing v2 API model and whether Spinifex implements it, for both the Application and Network Load Balancers it serves.",
|
||||
"description": "The Elastic Load Balancing v2 API operations Spinifex implements, for both the Application and Network Load Balancers it serves, with those it does not.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -142,7 +142,7 @@
|
||||
"name": "IAM",
|
||||
"title": "IAM API Coverage",
|
||||
"seoTitle": "AWS IAM API Operation Coverage on Spinifex — Spinifex Docs",
|
||||
"description": "Every operation in the AWS IAM API model and whether Spinifex implements it, covering users, roles, policies, groups and instance profiles on each build.",
|
||||
"description": "The AWS IAM API operations Spinifex implements, covering users, roles, policies, groups and instance profiles, with those the platform does not offer.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -184,7 +184,7 @@
|
||||
"name": "RDS",
|
||||
"title": "RDS API Coverage",
|
||||
"seoTitle": "Relational Database Service API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the Amazon RDS API model and whether Spinifex implements it, for the managed PostgreSQL and MariaDB engines it offers on each build.",
|
||||
"description": "The Amazon RDS API operations Spinifex implements, for the managed PostgreSQL and MariaDB engines it offers, with those the platform does not offer and why.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
@@ -227,7 +227,7 @@
|
||||
"name": "STS",
|
||||
"title": "STS API Coverage",
|
||||
"seoTitle": "AWS Security Token Service API Coverage — Spinifex Docs",
|
||||
"description": "Every operation in the AWS STS API model and whether Spinifex implements it, covering role assumption, session tokens and web identity federation (IRSA).",
|
||||
"description": "The AWS STS API operations Spinifex implements, covering role assumption, session tokens and web identity federation (IRSA), with those it does not offer.",
|
||||
"tags": [
|
||||
"aws",
|
||||
"compatibility",
|
||||
|
||||
+48
-172
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "RDS API Coverage"
|
||||
seoTitle: "Relational Database Service API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the Amazon RDS API model and whether Spinifex implements it, for the managed PostgreSQL and MariaDB engines it offers on each build."
|
||||
description: "The Amazon RDS API operations Spinifex implements, for the managed PostgreSQL and MariaDB engines it offers, with those the platform does not offer and why."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -19,7 +19,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **26 of the 162** operations (**16.0%**) in the RDS `2014-10-31` API model.
|
||||
Spinifex implements **26 operations** in the RDS `2014-10-31` API model.
|
||||
|
||||
### Engines
|
||||
|
||||
@@ -70,174 +70,50 @@ A parameter whose omission would create a false safety, security or availability
|
||||
|
||||
### Operations
|
||||
|
||||
| Operation | Status |
|
||||
| Operation |
|
||||
|---|
|
||||
| `AddTagsToResource` |
|
||||
| `CreateDBInstance` |
|
||||
| `CreateDBParameterGroup` |
|
||||
| `CreateDBSnapshot` |
|
||||
| `CreateDBSubnetGroup` |
|
||||
| `DeleteDBInstance` |
|
||||
| `DeleteDBParameterGroup` |
|
||||
| `DeleteDBSnapshot` |
|
||||
| `DeleteDBSubnetGroup` |
|
||||
| `DescribeDBEngineVersions` |
|
||||
| `DescribeDBInstanceAutomatedBackups` |
|
||||
| `DescribeDBInstances` |
|
||||
| `DescribeDBParameterGroups` |
|
||||
| `DescribeDBParameters` |
|
||||
| `DescribeDBSnapshots` |
|
||||
| `DescribeDBSubnetGroups` |
|
||||
| `DescribeEvents` |
|
||||
| `DescribeOrderableDBInstanceOptions` |
|
||||
| `ListTagsForResource` |
|
||||
| `ModifyDBInstance` |
|
||||
| `ModifyDBParameterGroup` |
|
||||
| `RebootDBInstance` |
|
||||
| `RemoveTagsFromResource` |
|
||||
| `RestoreDBInstanceFromDBSnapshot` |
|
||||
| `StartDBInstance` |
|
||||
| `StopDBInstance` |
|
||||
|
||||
### Not applicable
|
||||
|
||||
These operations describe AWS-hosted features this platform does not offer.
|
||||
|
||||
| Operation | Reason |
|
||||
|---|---|
|
||||
| `AddRoleToDBCluster` | ❌ Not implemented |
|
||||
| `AddRoleToDBInstance` | ❌ Not implemented |
|
||||
| `AddSourceIdentifierToSubscription` | ❌ Not implemented |
|
||||
| `AddTagsToResource` | ✅ Implemented |
|
||||
| `ApplyPendingMaintenanceAction` | ❌ Not implemented |
|
||||
| `AuthorizeDBSecurityGroupIngress` | ❌ Not implemented |
|
||||
| `BacktrackDBCluster` | ❌ Not implemented |
|
||||
| `CancelExportTask` | ❌ Not implemented |
|
||||
| `CopyDBClusterParameterGroup` | ❌ Not implemented |
|
||||
| `CopyDBClusterSnapshot` | ❌ Not implemented |
|
||||
| `CopyDBParameterGroup` | ❌ Not implemented |
|
||||
| `CopyDBSnapshot` | ❌ Not implemented |
|
||||
| `CopyOptionGroup` | ❌ Not implemented |
|
||||
| `CreateBlueGreenDeployment` | ❌ Not implemented |
|
||||
| `CreateCustomDBEngineVersion` | ❌ Not implemented |
|
||||
| `CreateDBCluster` | ⛔ Not applicable [1](#notes) |
|
||||
| `CreateDBClusterEndpoint` | ❌ Not implemented |
|
||||
| `CreateDBClusterParameterGroup` | ❌ Not implemented |
|
||||
| `CreateDBClusterSnapshot` | ❌ Not implemented |
|
||||
| `CreateDBInstance` | ✅ Implemented |
|
||||
| `CreateDBInstanceReadReplica` | ⛔ Not applicable [4](#notes) |
|
||||
| `CreateDBParameterGroup` | ✅ Implemented |
|
||||
| `CreateDBProxy` | ❌ Not implemented |
|
||||
| `CreateDBProxyEndpoint` | ❌ Not implemented |
|
||||
| `CreateDBSecurityGroup` | ❌ Not implemented |
|
||||
| `CreateDBShardGroup` | ❌ Not implemented |
|
||||
| `CreateDBSnapshot` | ✅ Implemented |
|
||||
| `CreateDBSubnetGroup` | ✅ Implemented |
|
||||
| `CreateEventSubscription` | ❌ Not implemented |
|
||||
| `CreateGlobalCluster` | ❌ Not implemented |
|
||||
| `CreateIntegration` | ❌ Not implemented |
|
||||
| `CreateOptionGroup` | ⛔ Not applicable [2](#notes) |
|
||||
| `CreateTenantDatabase` | ❌ Not implemented |
|
||||
| `DeleteBlueGreenDeployment` | ❌ Not implemented |
|
||||
| `DeleteCustomDBEngineVersion` | ❌ Not implemented |
|
||||
| `DeleteDBCluster` | ⛔ Not applicable [1](#notes) |
|
||||
| `DeleteDBClusterAutomatedBackup` | ❌ Not implemented |
|
||||
| `DeleteDBClusterEndpoint` | ❌ Not implemented |
|
||||
| `DeleteDBClusterParameterGroup` | ❌ Not implemented |
|
||||
| `DeleteDBClusterSnapshot` | ❌ Not implemented |
|
||||
| `DeleteDBInstance` | ✅ Implemented |
|
||||
| `DeleteDBInstanceAutomatedBackup` | ❌ Not implemented |
|
||||
| `DeleteDBParameterGroup` | ✅ Implemented |
|
||||
| `DeleteDBProxy` | ❌ Not implemented |
|
||||
| `DeleteDBProxyEndpoint` | ❌ Not implemented |
|
||||
| `DeleteDBSecurityGroup` | ❌ Not implemented |
|
||||
| `DeleteDBShardGroup` | ❌ Not implemented |
|
||||
| `DeleteDBSnapshot` | ✅ Implemented |
|
||||
| `DeleteDBSubnetGroup` | ✅ Implemented |
|
||||
| `DeleteEventSubscription` | ❌ Not implemented |
|
||||
| `DeleteGlobalCluster` | ❌ Not implemented |
|
||||
| `DeleteIntegration` | ❌ Not implemented |
|
||||
| `DeleteOptionGroup` | ⛔ Not applicable [2](#notes) |
|
||||
| `DeleteTenantDatabase` | ❌ Not implemented |
|
||||
| `DeregisterDBProxyTargets` | ❌ Not implemented |
|
||||
| `DescribeAccountAttributes` | ❌ Not implemented |
|
||||
| `DescribeBlueGreenDeployments` | ❌ Not implemented |
|
||||
| `DescribeCertificates` | ❌ Not implemented |
|
||||
| `DescribeDBClusterAutomatedBackups` | ❌ Not implemented |
|
||||
| `DescribeDBClusterBacktracks` | ❌ Not implemented |
|
||||
| `DescribeDBClusterEndpoints` | ❌ Not implemented |
|
||||
| `DescribeDBClusterParameterGroups` | ❌ Not implemented |
|
||||
| `DescribeDBClusterParameters` | ❌ Not implemented |
|
||||
| `DescribeDBClusterSnapshotAttributes` | ❌ Not implemented |
|
||||
| `DescribeDBClusterSnapshots` | ❌ Not implemented |
|
||||
| `DescribeDBClusters` | ⛔ Not applicable [1](#notes) |
|
||||
| `DescribeDBEngineVersions` | ✅ Implemented |
|
||||
| `DescribeDBInstanceAutomatedBackups` | ✅ Implemented |
|
||||
| `DescribeDBInstances` | ✅ Implemented |
|
||||
| `DescribeDBLogFiles` | ❌ Not implemented |
|
||||
| `DescribeDBParameterGroups` | ✅ Implemented |
|
||||
| `DescribeDBParameters` | ✅ Implemented |
|
||||
| `DescribeDBProxies` | ❌ Not implemented |
|
||||
| `DescribeDBProxyEndpoints` | ❌ Not implemented |
|
||||
| `DescribeDBProxyTargetGroups` | ❌ Not implemented |
|
||||
| `DescribeDBProxyTargets` | ❌ Not implemented |
|
||||
| `DescribeDBRecommendations` | ❌ Not implemented |
|
||||
| `DescribeDBSecurityGroups` | ❌ Not implemented |
|
||||
| `DescribeDBShardGroups` | ❌ Not implemented |
|
||||
| `DescribeDBSnapshotAttributes` | ❌ Not implemented |
|
||||
| `DescribeDBSnapshotTenantDatabases` | ❌ Not implemented |
|
||||
| `DescribeDBSnapshots` | ✅ Implemented |
|
||||
| `DescribeDBSubnetGroups` | ✅ Implemented |
|
||||
| `DescribeEngineDefaultClusterParameters` | ❌ Not implemented |
|
||||
| `DescribeEngineDefaultParameters` | ❌ Not implemented |
|
||||
| `DescribeEventCategories` | ❌ Not implemented |
|
||||
| `DescribeEventSubscriptions` | ❌ Not implemented |
|
||||
| `DescribeEvents` | ✅ Implemented |
|
||||
| `DescribeExportTasks` | ❌ Not implemented |
|
||||
| `DescribeGlobalClusters` | ❌ Not implemented |
|
||||
| `DescribeIntegrations` | ❌ Not implemented |
|
||||
| `DescribeOptionGroupOptions` | ❌ Not implemented |
|
||||
| `DescribeOptionGroups` | ⛔ Not applicable [2](#notes) |
|
||||
| `DescribeOrderableDBInstanceOptions` | ✅ Implemented |
|
||||
| `DescribePendingMaintenanceActions` | ❌ Not implemented |
|
||||
| `DescribeReservedDBInstances` | ❌ Not implemented |
|
||||
| `DescribeReservedDBInstancesOfferings` | ❌ Not implemented |
|
||||
| `DescribeSourceRegions` | ❌ Not implemented |
|
||||
| `DescribeTenantDatabases` | ❌ Not implemented |
|
||||
| `DescribeValidDBInstanceModifications` | ❌ Not implemented |
|
||||
| `DisableHttpEndpoint` | ❌ Not implemented |
|
||||
| `DownloadDBLogFilePortion` | ❌ Not implemented |
|
||||
| `EnableHttpEndpoint` | ❌ Not implemented |
|
||||
| `FailoverDBCluster` | ⛔ Not applicable [1](#notes) |
|
||||
| `FailoverGlobalCluster` | ❌ Not implemented |
|
||||
| `ListTagsForResource` | ✅ Implemented |
|
||||
| `ModifyActivityStream` | ❌ Not implemented |
|
||||
| `ModifyCertificates` | ❌ Not implemented |
|
||||
| `ModifyCurrentDBClusterCapacity` | ❌ Not implemented |
|
||||
| `ModifyCustomDBEngineVersion` | ❌ Not implemented |
|
||||
| `ModifyDBCluster` | ⛔ Not applicable [1](#notes) |
|
||||
| `ModifyDBClusterEndpoint` | ❌ Not implemented |
|
||||
| `ModifyDBClusterParameterGroup` | ❌ Not implemented |
|
||||
| `ModifyDBClusterSnapshotAttribute` | ❌ Not implemented |
|
||||
| `ModifyDBInstance` | ✅ Implemented |
|
||||
| `ModifyDBParameterGroup` | ✅ Implemented |
|
||||
| `ModifyDBProxy` | ❌ Not implemented |
|
||||
| `ModifyDBProxyEndpoint` | ❌ Not implemented |
|
||||
| `ModifyDBProxyTargetGroup` | ❌ Not implemented |
|
||||
| `ModifyDBRecommendation` | ❌ Not implemented |
|
||||
| `ModifyDBShardGroup` | ❌ Not implemented |
|
||||
| `ModifyDBSnapshot` | ❌ Not implemented |
|
||||
| `ModifyDBSnapshotAttribute` | ❌ Not implemented |
|
||||
| `ModifyDBSubnetGroup` | ❌ Not implemented |
|
||||
| `ModifyEventSubscription` | ❌ Not implemented |
|
||||
| `ModifyGlobalCluster` | ❌ Not implemented |
|
||||
| `ModifyIntegration` | ❌ Not implemented |
|
||||
| `ModifyOptionGroup` | ⛔ Not applicable [2](#notes) |
|
||||
| `ModifyTenantDatabase` | ❌ Not implemented |
|
||||
| `PromoteReadReplica` | ⛔ Not applicable [4](#notes) |
|
||||
| `PromoteReadReplicaDBCluster` | ❌ Not implemented |
|
||||
| `PurchaseReservedDBInstancesOffering` | ❌ Not implemented |
|
||||
| `RebootDBCluster` | ❌ Not implemented |
|
||||
| `RebootDBInstance` | ✅ Implemented |
|
||||
| `RebootDBShardGroup` | ❌ Not implemented |
|
||||
| `RegisterDBProxyTargets` | ❌ Not implemented |
|
||||
| `RemoveFromGlobalCluster` | ❌ Not implemented |
|
||||
| `RemoveRoleFromDBCluster` | ❌ Not implemented |
|
||||
| `RemoveRoleFromDBInstance` | ❌ Not implemented |
|
||||
| `RemoveSourceIdentifierFromSubscription` | ❌ Not implemented |
|
||||
| `RemoveTagsFromResource` | ✅ Implemented |
|
||||
| `ResetDBClusterParameterGroup` | ❌ Not implemented |
|
||||
| `ResetDBParameterGroup` | ❌ Not implemented |
|
||||
| `RestoreDBClusterFromS3` | ❌ Not implemented |
|
||||
| `RestoreDBClusterFromSnapshot` | ❌ Not implemented |
|
||||
| `RestoreDBClusterToPointInTime` | ❌ Not implemented |
|
||||
| `RestoreDBInstanceFromDBSnapshot` | ✅ Implemented |
|
||||
| `RestoreDBInstanceFromS3` | ❌ Not implemented |
|
||||
| `RestoreDBInstanceToPointInTime` | ⛔ Not applicable [3](#notes) |
|
||||
| `RevokeDBSecurityGroupIngress` | ❌ Not implemented |
|
||||
| `StartActivityStream` | ❌ Not implemented |
|
||||
| `StartDBCluster` | ❌ Not implemented |
|
||||
| `StartDBInstance` | ✅ Implemented |
|
||||
| `StartDBInstanceAutomatedBackupsReplication` | ❌ Not implemented |
|
||||
| `StartExportTask` | ❌ Not implemented |
|
||||
| `StopActivityStream` | ❌ Not implemented |
|
||||
| `StopDBCluster` | ❌ Not implemented |
|
||||
| `StopDBInstance` | ✅ Implemented |
|
||||
| `StopDBInstanceAutomatedBackupsReplication` | ❌ Not implemented |
|
||||
| `SwitchoverBlueGreenDeployment` | ❌ Not implemented |
|
||||
| `SwitchoverGlobalCluster` | ❌ Not implemented |
|
||||
| `SwitchoverReadReplica` | ❌ Not implemented |
|
||||
|
||||
### Notes
|
||||
|
||||
1. Aurora and Multi-AZ clusters are not offered; a DB instance here is a single VM running the engine directly.
|
||||
2. Option groups configure engine add-ons for engines this platform does not offer, such as Oracle and SQL Server.
|
||||
3. Point-in-time restore needs continuous transaction-log archival, which the backup path does not keep.
|
||||
4. Replication between instances is not offered, so there is no replica to create or promote.
|
||||
| `CreateDBCluster` | Aurora and Multi-AZ clusters are not offered; a DB instance here is a single VM running the engine directly. |
|
||||
| `CreateDBInstanceReadReplica` | Replication between instances is not offered, so there is no replica to create or promote. |
|
||||
| `CreateOptionGroup` | Option groups configure engine add-ons for engines this platform does not offer, such as Oracle and SQL Server. |
|
||||
| `DeleteDBCluster` | Aurora and Multi-AZ clusters are not offered; a DB instance here is a single VM running the engine directly. |
|
||||
| `DeleteOptionGroup` | Option groups configure engine add-ons for engines this platform does not offer, such as Oracle and SQL Server. |
|
||||
| `DescribeDBClusters` | Aurora and Multi-AZ clusters are not offered; a DB instance here is a single VM running the engine directly. |
|
||||
| `DescribeOptionGroups` | Option groups configure engine add-ons for engines this platform does not offer, such as Oracle and SQL Server. |
|
||||
| `FailoverDBCluster` | Aurora and Multi-AZ clusters are not offered; a DB instance here is a single VM running the engine directly. |
|
||||
| `ModifyDBCluster` | Aurora and Multi-AZ clusters are not offered; a DB instance here is a single VM running the engine directly. |
|
||||
| `ModifyOptionGroup` | Option groups configure engine add-ons for engines this platform does not offer, such as Oracle and SQL Server. |
|
||||
| `PromoteReadReplica` | Replication between instances is not offered, so there is no replica to create or promote. |
|
||||
| `RestoreDBInstanceToPointInTime` | Point-in-time restore needs continuous transaction-log archival, which the backup path does not keep. |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "STS API Coverage"
|
||||
seoTitle: "AWS Security Token Service API Coverage — Spinifex Docs"
|
||||
description: "Every operation in the AWS STS API model and whether Spinifex implements it, covering role assumption, session tokens and web identity federation (IRSA)."
|
||||
description: "The AWS STS API operations Spinifex implements, covering role assumption, session tokens and web identity federation (IRSA), with those it does not offer."
|
||||
category: "Coverage"
|
||||
sections:
|
||||
- overview
|
||||
@@ -18,7 +18,7 @@ tags:
|
||||
|
||||
## Overview
|
||||
|
||||
Spinifex implements **5 of the 8** operations (**62.5%**) in the STS `2011-06-15` API model.
|
||||
Spinifex implements **5 operations** in the STS `2011-06-15` API model.
|
||||
|
||||
### Trust policies
|
||||
|
||||
@@ -32,13 +32,10 @@ Several inputs the model describes are deliberately rejected rather than accepte
|
||||
|
||||
### Operations
|
||||
|
||||
| Operation | Status |
|
||||
|---|---|
|
||||
| `AssumeRole` | ✅ Implemented |
|
||||
| `AssumeRoleWithSAML` | ❌ Not implemented |
|
||||
| `AssumeRoleWithWebIdentity` | ✅ Implemented |
|
||||
| `DecodeAuthorizationMessage` | ❌ Not implemented |
|
||||
| `GetAccessKeyInfo` | ✅ Implemented |
|
||||
| `GetCallerIdentity` | ✅ Implemented |
|
||||
| `GetFederationToken` | ❌ Not implemented |
|
||||
| `GetSessionToken` | ✅ Implemented |
|
||||
| Operation |
|
||||
|---|
|
||||
| `AssumeRole` |
|
||||
| `AssumeRoleWithWebIdentity` |
|
||||
| `GetAccessKeyInfo` |
|
||||
| `GetCallerIdentity` |
|
||||
| `GetSessionToken` |
|
||||
|
||||
@@ -140,6 +140,43 @@ func RenderCoverageSummary(coverages []OperationCoverage) string {
|
||||
return report.String()
|
||||
}
|
||||
|
||||
// RenderInternalReport renders the full comparison, including the operations
|
||||
// the published pages leave out. It is not a site page: the docs build renders
|
||||
// only the slugs it is configured with, and this file is not one of them.
|
||||
func RenderInternalReport(coverages []OperationCoverage) string {
|
||||
var report strings.Builder
|
||||
report.WriteString("# AWS Model Operation Coverage (internal)\n\n")
|
||||
report.WriteString("Generated by `make aws-model-coverage`. This file is not published: it carries the counts and the unimplemented operations that the pages under this directory deliberately leave out.\n\n")
|
||||
fmt.Fprintf(&report, "Pinned model source: `aws-sdk-go %s`.\n\n", SourceSDKVersion)
|
||||
|
||||
for _, coverage := range sortedCoverages(coverages) {
|
||||
fmt.Fprintf(&report, "## %s\n\n", coverage.Service)
|
||||
if coverage.Opaque {
|
||||
fmt.Fprintf(&report, "`%s` — not enumerable. %s\n\n", coverage.APIVersion, coverage.Note)
|
||||
continue
|
||||
}
|
||||
fmt.Fprintf(&report, "`%s` — %d of %d modelled operations implemented (%.1f%%), %d stubbed, %d unsupported, %d registered outside the pinned model.\n\n",
|
||||
coverage.APIVersion, len(coverage.Implemented), len(coverage.Modelled), coverage.ImplementedPercent(),
|
||||
len(coverage.Stubbed), len(coverage.Unsupported), len(coverage.Extra))
|
||||
writeOperationList(&report, "Not implemented", coverage.Missing)
|
||||
writeOperationList(&report, "Stubbed", coverage.Stubbed)
|
||||
writeOperationList(&report, "Registered and refused", coverage.Unsupported)
|
||||
writeOperationList(&report, "Registered outside the pinned model", coverage.Extra)
|
||||
}
|
||||
return report.String()
|
||||
}
|
||||
|
||||
func writeOperationList(report *strings.Builder, heading string, operations []string) {
|
||||
if len(operations) == 0 {
|
||||
return
|
||||
}
|
||||
fmt.Fprintf(report, "### %s\n\n", heading)
|
||||
for _, operation := range operations {
|
||||
fmt.Fprintf(report, "- `%s`\n", operation)
|
||||
}
|
||||
report.WriteString("\n")
|
||||
}
|
||||
|
||||
func sortedCoverages(coverages []OperationCoverage) []OperationCoverage {
|
||||
ordered := append([]OperationCoverage(nil), coverages...)
|
||||
sort.Slice(ordered, func(i, j int) bool { return ordered[i].Service < ordered[j].Service })
|
||||
|
||||
+92
-49
@@ -21,6 +21,10 @@ const (
|
||||
StatusOutsideModel = "🔒 Outside the pinned model"
|
||||
)
|
||||
|
||||
// The reason published for an operation a handler refuses without the page
|
||||
// declaring why. The refusal is mechanical, so the row cannot be silent.
|
||||
const refusedByHandler = "The handler refuses this operation; the platform does not offer it."
|
||||
|
||||
// Frontmatter length rules enforced by the docs site. See docs/README.md.
|
||||
const (
|
||||
seoTitleSuffix = " — Spinifex Docs"
|
||||
@@ -230,40 +234,31 @@ func validateFrontmatter(owner string, page PageMetadata) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// noteOrder returns the note keys in the order they are published. Sorted by
|
||||
// key rather than by first use, so adding an operation cannot renumber a note
|
||||
// that is already published.
|
||||
func noteOrder(notes map[string]string) []string {
|
||||
keys := make([]string, 0, len(notes))
|
||||
for key := range notes {
|
||||
keys = append(keys, key)
|
||||
}
|
||||
sort.Strings(keys)
|
||||
return keys
|
||||
}
|
||||
|
||||
// numberNotes assigns each note its published footnote number, rejecting a note
|
||||
// nothing references and a reference to a note that does not exist.
|
||||
func numberNotes(page PageMetadata) (map[string]int, error) {
|
||||
// validateNotes checks both directions of the note references, rejecting a note
|
||||
// nothing points at and a reference to a note that does not exist.
|
||||
func validateNotes(page PageMetadata) error {
|
||||
referenced := map[string]bool{}
|
||||
for operation, key := range page.NotApplicable {
|
||||
if _, ok := page.Notes[key]; !ok {
|
||||
return nil, fmt.Errorf("awsmodel: coverage page %s: operation %q references undefined note %q", page.Slug, operation, key)
|
||||
return fmt.Errorf("awsmodel: coverage page %s: operation %q references undefined note %q", page.Slug, operation, key)
|
||||
}
|
||||
referenced[key] = true
|
||||
}
|
||||
|
||||
numbering := make(map[string]int, len(page.Notes))
|
||||
for index, key := range noteOrder(page.Notes) {
|
||||
keys := make([]string, 0, len(page.Notes))
|
||||
for key := range page.Notes {
|
||||
keys = append(keys, key)
|
||||
}
|
||||
sort.Strings(keys)
|
||||
for _, key := range keys {
|
||||
if !referenced[key] {
|
||||
return nil, fmt.Errorf("awsmodel: coverage page %s: note %q is never referenced", page.Slug, key)
|
||||
return fmt.Errorf("awsmodel: coverage page %s: note %q is never referenced", page.Slug, key)
|
||||
}
|
||||
if page.Notes[key] == "" {
|
||||
return nil, fmt.Errorf("awsmodel: coverage page %s: note %q is empty", page.Slug, key)
|
||||
return fmt.Errorf("awsmodel: coverage page %s: note %q is empty", page.Slug, key)
|
||||
}
|
||||
numbering[key] = index + 1
|
||||
}
|
||||
return numbering, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
// RenderServicePage renders one publishable coverage page. intro is optional
|
||||
@@ -283,42 +278,90 @@ func RenderServicePage(coverage OperationCoverage, pages PageSet, intro string)
|
||||
return "", fmt.Errorf("awsmodel: %s coverage is not enumerable, so it has no publishable page", coverage.Service)
|
||||
}
|
||||
|
||||
var body strings.Builder
|
||||
writeFrontmatter(&body, page, pages.Category)
|
||||
fmt.Fprintf(&body, "# %s\n\n## Overview\n\n", page.Title)
|
||||
|
||||
fmt.Fprintf(&body, "Spinifex implements **%d of the %d** operations (**%.1f%%**) in the %s `%s` API model.\n\n",
|
||||
len(coverage.Implemented), len(coverage.Modelled), coverage.ImplementedPercent(), page.Name, coverage.APIVersion)
|
||||
|
||||
if intro != "" {
|
||||
body.WriteString(strings.TrimSpace(intro) + "\n\n")
|
||||
// A page exists to say what the platform serves. A service with nothing
|
||||
// behind it has no such statement to make.
|
||||
if len(coverage.Implemented) == 0 {
|
||||
return "", fmt.Errorf("awsmodel: %s has no implemented operations, so it has no publishable page", coverage.Service)
|
||||
}
|
||||
|
||||
statuses, err := coverage.OperationStatuses(page)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
numbering, err := numberNotes(page)
|
||||
if err != nil {
|
||||
if err := validateNotes(page); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
body.WriteString("### Operations\n\n| Operation | Status |\n|---|---|\n")
|
||||
for _, status := range statuses {
|
||||
if number, ok := numbering[status.NoteKey]; ok {
|
||||
fmt.Fprintf(&body, "| `%s` | %s [%d](#notes) |\n", status.Operation, status.Status, number)
|
||||
continue
|
||||
}
|
||||
fmt.Fprintf(&body, "| `%s` | %s |\n", status.Operation, status.Status)
|
||||
var body strings.Builder
|
||||
writeFrontmatter(&body, page, pages.Category)
|
||||
fmt.Fprintf(&body, "# %s\n\n## Overview\n\n", page.Title)
|
||||
|
||||
noun := "operations"
|
||||
if len(coverage.Implemented) == 1 {
|
||||
noun = "operation"
|
||||
}
|
||||
fmt.Fprintf(&body, "Spinifex implements **%d %s** in the %s `%s` API model.\n\n",
|
||||
len(coverage.Implemented), noun, page.Name, coverage.APIVersion)
|
||||
|
||||
if intro != "" {
|
||||
body.WriteString(strings.TrimSpace(intro) + "\n\n")
|
||||
}
|
||||
|
||||
if len(numbering) > 0 {
|
||||
body.WriteString("\n### Notes\n\n")
|
||||
for index, key := range noteOrder(page.Notes) {
|
||||
fmt.Fprintf(&body, "%d. %s\n", index+1, page.Notes[key])
|
||||
writeOperations(&body, statuses)
|
||||
writeNotApplicable(&body, page, statuses)
|
||||
return body.String(), nil
|
||||
}
|
||||
|
||||
// writeOperations publishes the operations the gateway serves. The status
|
||||
// column is written only where a row needs it: a table whose every cell reads
|
||||
// "Implemented" says nothing the heading has not.
|
||||
func writeOperations(body *strings.Builder, statuses []OperationStatus) {
|
||||
rows := make([]OperationStatus, 0, len(statuses))
|
||||
uniform := true
|
||||
for _, status := range statuses {
|
||||
if status.Status == StatusNotApplicable || status.Status == StatusNotImplemented {
|
||||
continue
|
||||
}
|
||||
uniform = uniform && status.Status == StatusImplemented
|
||||
rows = append(rows, status)
|
||||
}
|
||||
|
||||
if uniform {
|
||||
body.WriteString("### Operations\n\n| Operation |\n|---|\n")
|
||||
for _, row := range rows {
|
||||
fmt.Fprintf(body, "| `%s` |\n", row.Operation)
|
||||
}
|
||||
return
|
||||
}
|
||||
body.WriteString("### Operations\n\n| Operation | Status |\n|---|---|\n")
|
||||
for _, row := range rows {
|
||||
fmt.Fprintf(body, "| `%s` | %s |\n", row.Operation, row.Status)
|
||||
}
|
||||
}
|
||||
|
||||
// writeNotApplicable publishes the operations the platform will never serve,
|
||||
// each with its reason in the row. A refusal reached mechanically carries the
|
||||
// generic reason, so no row is published without one.
|
||||
func writeNotApplicable(body *strings.Builder, page PageMetadata, statuses []OperationStatus) {
|
||||
rows := make([]OperationStatus, 0, len(page.NotApplicable))
|
||||
for _, status := range statuses {
|
||||
if status.Status == StatusNotApplicable {
|
||||
rows = append(rows, status)
|
||||
}
|
||||
}
|
||||
return body.String(), nil
|
||||
if len(rows) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
body.WriteString("\n### Not applicable\n\nThese operations describe AWS-hosted features this platform does not offer.\n\n")
|
||||
body.WriteString("| Operation | Reason |\n|---|---|\n")
|
||||
for _, row := range rows {
|
||||
reason := page.Notes[row.NoteKey]
|
||||
if reason == "" {
|
||||
reason = refusedByHandler
|
||||
}
|
||||
fmt.Fprintf(body, "| `%s` | %s |\n", row.Operation, reason)
|
||||
}
|
||||
}
|
||||
|
||||
// RenderIndexPage renders the cross-service summary that links to each page.
|
||||
@@ -330,15 +373,15 @@ func RenderIndexPage(coverages []OperationCoverage, pages PageSet, intro string)
|
||||
var body strings.Builder
|
||||
writeFrontmatter(&body, pages.Index, pages.Category)
|
||||
fmt.Fprintf(&body, "# %s\n\n## Overview\n\n", pages.Index.Title)
|
||||
fmt.Fprintf(&body, "Spinifex serves the AWS APIs below. Every page counts the operations in the pinned `aws-sdk-go %s` `api-2.json` model for its service and reports, operation by operation, whether Spinifex implements it.\n\n", SourceSDKVersion)
|
||||
body.WriteString("| Service | Implemented | Modelled | Coverage |\n|---|---:|---:|---:|\n")
|
||||
fmt.Fprintf(&body, "Spinifex serves the AWS APIs below. Every page names the operations Spinifex implements from the pinned `aws-sdk-go %s` `api-2.json` model for its service, alongside those the platform does not offer and why.\n\n", SourceSDKVersion)
|
||||
body.WriteString("| Service | Operations |\n|---|---:|\n")
|
||||
for _, coverage := range sortedCoverages(coverages) {
|
||||
page, ok := pages.Services[coverage.Service]
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
fmt.Fprintf(&body, "| [%s](%s/%s) | %d | %d | %.1f%% |\n",
|
||||
page.Name, pages.BasePath, page.Slug, len(coverage.Implemented), len(coverage.Modelled), coverage.ImplementedPercent())
|
||||
fmt.Fprintf(&body, "| [%s](%s/%s) | %d |\n",
|
||||
page.Name, pages.BasePath, page.Slug, len(coverage.Implemented))
|
||||
}
|
||||
|
||||
if intro != "" {
|
||||
|
||||
@@ -66,7 +66,7 @@ func TestParsePageSetRejectsUnpublishableMetadata(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRenderServicePageCarriesEveryStatus(t *testing.T) {
|
||||
func TestRenderServicePageCarriesEveryPublishedStatus(t *testing.T) {
|
||||
pages := testPageSet(t)
|
||||
coverage, err := CompareOperations(STS, DispatchInventory{
|
||||
Registered: []string{"AssumeRole", "GetCallerIdentity", "GetSessionToken", "PublishInternal"},
|
||||
@@ -86,13 +86,12 @@ func TestRenderServicePageCarriesEveryStatus(t *testing.T) {
|
||||
`category: "Coverage"`,
|
||||
"sections:\n - overview\n",
|
||||
"# STS API Coverage\n\n## Overview\n",
|
||||
"Spinifex implements **1 of the 8** operations (**12.5%**) in the STS `2011-06-15` API model.",
|
||||
"Spinifex implements **1 operation** in the STS `2011-06-15` API model.",
|
||||
"### Scope\n\nHand-written prose.",
|
||||
"| `AssumeRole` | " + StatusImplemented + " |",
|
||||
"| `GetSessionToken` | " + StatusStub + " |",
|
||||
"| `GetCallerIdentity` | " + StatusNotApplicable + " |",
|
||||
"| `AssumeRoleWithSAML` | " + StatusNotImplemented + " |",
|
||||
"| `PublishInternal` | " + StatusOutsideModel + " |",
|
||||
"### Not applicable\n",
|
||||
} {
|
||||
if !strings.Contains(page, want) {
|
||||
t.Errorf("page does not contain %q:\n%s", want, page)
|
||||
@@ -103,9 +102,10 @@ func TestRenderServicePageCarriesEveryStatus(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// A modelled operation is never summarised as a count: a visitor asking whether
|
||||
// Spinifex runs their workload is asking about the absent operations too.
|
||||
func TestRenderServicePageRowsEveryModelledOperation(t *testing.T) {
|
||||
// A published page states what the platform serves. An operation Spinifex has
|
||||
// not implemented is not a row on it, and no count invites reading the page as
|
||||
// a score against AWS.
|
||||
func TestRenderServicePagePublishesNeitherGapsNorScores(t *testing.T) {
|
||||
pages := testPageSet(t)
|
||||
coverage, err := CompareOperations(STS, DispatchInventory{Registered: []string{"AssumeRole"}})
|
||||
if err != nil {
|
||||
@@ -116,11 +116,36 @@ func TestRenderServicePageRowsEveryModelledOperation(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, operation := range coverage.Modelled {
|
||||
if !strings.Contains(page, "| `"+operation+"` |") {
|
||||
t.Errorf("page has no row for modelled operation %q", operation)
|
||||
if strings.Contains(page, StatusNotImplemented) {
|
||||
t.Errorf("page publishes an unimplemented operation:\n%s", page)
|
||||
}
|
||||
if strings.Contains(page, "%") || strings.Contains(page, " of the ") {
|
||||
t.Errorf("page publishes a coverage score:\n%s", page)
|
||||
}
|
||||
for _, operation := range coverage.Missing {
|
||||
if strings.Contains(page, "| `"+operation+"` |") {
|
||||
t.Errorf("page has a row for unimplemented operation %q", operation)
|
||||
}
|
||||
}
|
||||
for _, operation := range coverage.Implemented {
|
||||
if !strings.Contains(page, "| `"+operation+"` |") {
|
||||
t.Errorf("page has no row for implemented operation %q", operation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// A service page says what Spinifex serves, so a service that serves nothing
|
||||
// has no page rather than an empty one.
|
||||
func TestRenderServicePageRefusesAServiceWithNoImplementation(t *testing.T) {
|
||||
pages := testPageSet(t)
|
||||
coverage, err := CompareOperations(STS, DispatchInventory{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if _, err := RenderServicePage(coverage, pages, ""); err == nil {
|
||||
t.Fatal("RenderServicePage published a page for a service with no implemented operations")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRenderServicePageWithoutIntro(t *testing.T) {
|
||||
@@ -235,13 +260,13 @@ func TestOperationStatusesRejectsAnInternalRouteThatIsModelled(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// A footnote reused across operations is written once, and both directions of
|
||||
// the reference are checked so neither side can rot.
|
||||
func TestRenderServicePageFootnotesSharedNotes(t *testing.T) {
|
||||
// Every not-applicable row carries its reason inline, so a visitor reads why an
|
||||
// operation is absent without following a footnote.
|
||||
func TestRenderServicePageGivesEveryNotApplicableRowAReason(t *testing.T) {
|
||||
pages := testPageSet(t)
|
||||
iam := pages.Services[IAM]
|
||||
if len(iam.Notes) == 0 {
|
||||
t.Skip("no notes are declared for IAM")
|
||||
if len(iam.NotApplicable) == 0 {
|
||||
t.Skip("no not-applicable operations are declared for IAM")
|
||||
}
|
||||
coverage, err := CompareOperations(IAM, DispatchInventory{Registered: []string{"CreateUser"}})
|
||||
if err != nil {
|
||||
@@ -252,19 +277,37 @@ func TestRenderServicePageFootnotesSharedNotes(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !strings.Contains(page, "\n### Notes\n\n1. ") {
|
||||
t.Errorf("page has no numbered notes section:\n%s", page)
|
||||
if !strings.Contains(page, "\n### Not applicable\n") {
|
||||
t.Fatalf("page has no not-applicable section:\n%s", page)
|
||||
}
|
||||
if !strings.Contains(page, "| `UploadSSHPublicKey` | "+StatusNotApplicable+" [") {
|
||||
t.Errorf("a declared operation carries no footnote reference:\n%s", page)
|
||||
}
|
||||
for _, text := range iam.Notes {
|
||||
if strings.Count(page, text) != 1 {
|
||||
t.Errorf("note %q is not written exactly once", text)
|
||||
for operation, key := range iam.NotApplicable {
|
||||
if !strings.Contains(page, "| `"+operation+"` | "+iam.Notes[key]+" |") {
|
||||
t.Errorf("operation %q carries no reason:\n%s", operation, page)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// A refusal the dispatch tables report, with no declared reason behind it, is
|
||||
// still published with one.
|
||||
func TestRenderServicePageGivesAnUndeclaredRefusalAReason(t *testing.T) {
|
||||
pages := testPageSet(t)
|
||||
coverage, err := CompareOperations(STS, DispatchInventory{
|
||||
Registered: []string{"AssumeRole", "GetFederationToken"},
|
||||
Unsupported: []string{"GetFederationToken"},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
page, err := RenderServicePage(coverage, pages, "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !strings.Contains(page, "| `GetFederationToken` | The handler refuses this operation") {
|
||||
t.Errorf("an undeclared refusal is published with no reason:\n%s", page)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRenderServicePageRejectsBrokenNoteReferences(t *testing.T) {
|
||||
pages := testPageSet(t)
|
||||
coverage, err := CompareOperations(STS, DispatchInventory{Registered: []string{"AssumeRole"}})
|
||||
@@ -330,6 +373,9 @@ func TestRenderIndexPageLinksEveryPublishedService(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if strings.Contains(index, "%") {
|
||||
t.Errorf("index publishes a coverage score:\n%s", index)
|
||||
}
|
||||
for _, service := range Services() {
|
||||
page, published := pages.Services[service]
|
||||
if !published {
|
||||
|
||||
@@ -9,9 +9,10 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
pagesFile = "pages.json"
|
||||
introFile = "intro.md"
|
||||
pageFile = "README.md"
|
||||
pagesFile = "pages.json"
|
||||
introFile = "intro.md"
|
||||
pageFile = "README.md"
|
||||
internalFile = "internal-report.md"
|
||||
)
|
||||
|
||||
// WritePages renders the publishable coverage pages into outputDir, which must
|
||||
@@ -54,7 +55,15 @@ func WritePages(outputDir string, coverages []OperationCoverage) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return writePage(outputDir, pages.Index.Slug, body)
|
||||
if err := writePage(outputDir, pages.Index.Slug, body); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
report := RenderInternalReport(coverages)
|
||||
if err := os.WriteFile(filepath.Join(outputDir, internalFile), []byte(report), 0o600); err != nil {
|
||||
return fmt.Errorf("awsmodel: write internal coverage report: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// readIntro returns the hand-written prose for a page, or "" where the page has
|
||||
|
||||
@@ -44,7 +44,7 @@ func TestWritePagesWritesAServicePageAndTheIndex(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !strings.Contains(string(service), "| `AssumeRole` | "+StatusImplemented+" |") {
|
||||
if !strings.Contains(string(service), "| `AssumeRole` |") {
|
||||
t.Errorf("service page is missing its operation table:\n%s", service)
|
||||
}
|
||||
index, err := os.ReadFile(filepath.Join(dir, "README.md"))
|
||||
@@ -56,6 +56,30 @@ func TestWritePagesWritesAServicePageAndTheIndex(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// The gaps the pages leave out are still written down, in a file the docs site
|
||||
// is not configured to render.
|
||||
func TestWritePagesWritesTheInternalReport(t *testing.T) {
|
||||
dir := stagePages(t)
|
||||
coverage := stsCoverage(t)
|
||||
|
||||
if err := WritePages(dir, []OperationCoverage{coverage}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
report, err := os.ReadFile(filepath.Join(dir, "internal-report.md"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, operation := range coverage.Missing {
|
||||
if !strings.Contains(string(report), "- `"+operation+"`") {
|
||||
t.Errorf("internal report omits unimplemented operation %q:\n%s", operation, report)
|
||||
}
|
||||
}
|
||||
if !strings.Contains(string(report), "% ") && !strings.Contains(string(report), "%)") {
|
||||
t.Errorf("internal report carries no coverage figure:\n%s", report)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWritePagesIncludesAnIntroAndOverwritesTheGeneratedPage(t *testing.T) {
|
||||
dir := stagePages(t)
|
||||
pageDir := filepath.Join(dir, "sts")
|
||||
|
||||
Reference in New Issue
Block a user