diff --git a/.changes/1.34.126.json b/.changes/1.34.126.json new file mode 100644 index 0000000000..f2f6b12bad --- /dev/null +++ b/.changes/1.34.126.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cloudhsmv2``", + "description": "Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets.", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1)", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8117a1fa68..0daec7bd45 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,16 @@ CHANGELOG ========= +1.34.126 +======== + +* api-change:``cloudhsmv2``: Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode. +* api-change:``glue``: This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets. +* api-change:``iotwireless``: Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics. +* api-change:``kms``: This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties. +* api-change:``mediapackagev2``: This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1) + + 1.34.125 ======== diff --git a/botocore/__init__.py b/botocore/__init__.py index 561cf471af..d4f4c78a56 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.34.125' +__version__ = '1.34.126' class NullHandler(logging.Handler): diff --git a/botocore/data/cloudhsmv2/2017-04-28/endpoint-rule-set-1.json b/botocore/data/cloudhsmv2/2017-04-28/endpoint-rule-set-1.json index e866a7977e..84e75cdaf0 100644 --- a/botocore/data/cloudhsmv2/2017-04-28/endpoint-rule-set-1.json +++ b/botocore/data/cloudhsmv2/2017-04-28/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -351,9 +349,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/botocore/data/cloudhsmv2/2017-04-28/service-2.json b/botocore/data/cloudhsmv2/2017-04-28/service-2.json index 02c5960077..5bd69c0423 100644 --- a/botocore/data/cloudhsmv2/2017-04-28/service-2.json +++ b/botocore/data/cloudhsmv2/2017-04-28/service-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"cloudhsmv2", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"CloudHSM V2", "serviceFullName":"AWS CloudHSM V2", "serviceId":"CloudHSM V2", @@ -325,6 +326,14 @@ "TagList":{ "shape":"TagList", "documentation":"
The list of tags for the backup.
" + }, + "HsmType":{ + "shape":"HsmType", + "documentation":"The HSM type of the cluster that was backed up.
" + }, + "Mode":{ + "shape":"ClusterMode", + "documentation":"The mode of the cluster that was backed up.
" } }, "documentation":"Contains information about a backup of an AWS CloudHSM cluster. All backup objects contain the BackupId
, BackupState
, ClusterId
, and CreateTimestamp
parameters. Backups that were copied into a destination region additionally contain the CopyTimestamp
, SourceBackup
, SourceCluster
, and SourceRegion
parameters. A backup that is pending deletion will include the DeleteTimestamp
parameter.
The list of tags for the cluster.
" + }, + "Mode":{ + "shape":"ClusterMode", + "documentation":"The mode of the cluster.
" } }, "documentation":"Contains information about an AWS CloudHSM cluster.
" @@ -530,6 +543,13 @@ "type":"string", "pattern":"cluster-[2-7a-zA-Z]{11,16}" }, + "ClusterMode":{ + "type":"string", + "enum":[ + "FIPS", + "NON_FIPS" + ] + }, "ClusterState":{ "type":"string", "enum":[ @@ -596,7 +616,7 @@ }, "HsmType":{ "shape":"HsmType", - "documentation":"The type of HSM to use in the cluster. Currently the only allowed value is hsm1.medium
.
The type of HSM to use in the cluster. The allowed values are hsm1.medium
and hsm2m.medium
.
Tags to apply to the CloudHSM cluster during creation.
" + }, + "Mode":{ + "shape":"ClusterMode", + "documentation":"The mode to use in the cluster. The allowed values are FIPS
and NON_FIPS
.
Prefix for Amazon S3 to store results.
" + }, + "CompositeRuleEvaluationMethod":{ + "shape":"DQCompositeRuleEvaluationMethod", + "documentation":"Set the evaluation method for composite rules in the ruleset to ROW/COLUMN
" } }, "documentation":"Additional run options you can specify for an evaluation run.
" @@ -11570,7 +11581,7 @@ }, "RulesetNames":{ "shape":"RulesetNames", - "documentation":"A list of ruleset names for the run.
" + "documentation":"A list of ruleset names for the run. Currently, this parameter takes only one Ruleset name.
" }, "ResultIds":{ "shape":"DataQualityResultIdList", diff --git a/botocore/data/iotwireless/2020-11-22/service-2.json b/botocore/data/iotwireless/2020-11-22/service-2.json index abb9ee7f49..43ad9c1702 100644 --- a/botocore/data/iotwireless/2020-11-22/service-2.json +++ b/botocore/data/iotwireless/2020-11-22/service-2.json @@ -9,7 +9,8 @@ "serviceId":"IoT Wireless", "signatureVersion":"v4", "signingName":"iotwireless", - "uid":"iotwireless-2020-11-22" + "uid":"iotwireless-2020-11-22", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateAwsAccountWithPartnerAccount":{ @@ -6632,6 +6633,8 @@ "enum":[ "DeviceRSSI", "DeviceSNR", + "DeviceRoamingRSSI", + "DeviceRoamingSNR", "DeviceUplinkCount", "DeviceDownlinkCount", "DeviceUplinkLostCount", diff --git a/botocore/data/kms/2014-11-01/service-2.json b/botocore/data/kms/2014-11-01/service-2.json index ff0997a021..8e4c88b3ee 100644 --- a/botocore/data/kms/2014-11-01/service-2.json +++ b/botocore/data/kms/2014-11-01/service-2.json @@ -11,7 +11,8 @@ "serviceId":"KMS", "signatureVersion":"v4", "targetPrefix":"TrentService", - "uid":"kms-2014-11-01" + "uid":"kms-2014-11-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "CancelKeyDeletion":{ @@ -139,7 +140,7 @@ {"shape":"XksKeyAlreadyInUseException"}, {"shape":"XksKeyNotFoundException"} ], - "documentation":"Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.
A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide
Use the parameters of CreateKey
to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.
KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
To create different types of KMS keys, use the following guidance:
By default, CreateKey
creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.
To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec
, SYMMETRIC_DEFAULT
, the default value for KeyUsage
, ENCRYPT_DECRYPT
, and the default value for Origin
, AWS_KMS
, create a symmetric encryption KMS key with KMS key material.
If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.
To create an asymmetric KMS key, use the KeySpec
parameter to specify the type of key material in the KMS key. Then, use the KeyUsage
parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.
Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC key pairs can be used only to sign and verify messages. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
To create an HMAC KMS key, set the KeySpec
parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage
parameter to GENERATE_VERIFY_MAC
. You must set the key usage even though GENERATE_VERIFY_MAC
is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.
HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.
To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion
parameter with a value of True
. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.
You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.
This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin
parameter of CreateKey
with a value of EXTERNAL
. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .
You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.
To create a multi-Region primary key with imported key material, use the Origin
parameter of CreateKey
with a value of EXTERNAL
and the MultiRegion
parameter with a value of True
. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.
KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Before you create a KMS key in a custom key store, the ConnectionState
of the key store must be CONNECTED
. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState
, use the DescribeCustomKeyStores operation.
To create a KMS key in a custom key store, use the CustomKeyStoreId
. Use the default KeySpec
value, SYMMETRIC_DEFAULT
, and the default KeyUsage
value, ENCRYPT_DECRYPT
to create a symmetric encryption key. No other key type is supported in a custom key store.
To create a KMS key in an CloudHSM key store, use the Origin
parameter with a value of AWS_CLOUDHSM
. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.
To create a KMS key in an external key store, use the Origin
parameter with a value of EXTERNAL_KEY_STORE
and an XksKeyId
parameter that identifies an existing external key.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Cross-account use: No. You cannot use this operation to create a KMS key in a different Amazon Web Services account.
Required permissions: kms:CreateKey (IAM policy). To use the Tags
parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.
Related operations:
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" + "documentation":"Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.
A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide
Use the parameters of CreateKey
to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.
KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
To create different types of KMS keys, use the following guidance:
By default, CreateKey
creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.
To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec
, SYMMETRIC_DEFAULT
, the default value for KeyUsage
, ENCRYPT_DECRYPT
, and the default value for Origin
, AWS_KMS
, create a symmetric encryption KMS key with KMS key material.
If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.
To create an asymmetric KMS key, use the KeySpec
parameter to specify the type of key material in the KMS key. Then, use the KeyUsage
parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.
Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1
can be used only to sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
To create an HMAC KMS key, set the KeySpec
parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage
parameter to GENERATE_VERIFY_MAC
. You must set the key usage even though GENERATE_VERIFY_MAC
is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.
HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.
To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion
parameter with a value of True
. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.
You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.
This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin
parameter of CreateKey
with a value of EXTERNAL
. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .
You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.
To create a multi-Region primary key with imported key material, use the Origin
parameter of CreateKey
with a value of EXTERNAL
and the MultiRegion
parameter with a value of True
. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.
KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Before you create a KMS key in a custom key store, the ConnectionState
of the key store must be CONNECTED
. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState
, use the DescribeCustomKeyStores operation.
To create a KMS key in a custom key store, use the CustomKeyStoreId
. Use the default KeySpec
value, SYMMETRIC_DEFAULT
, and the default KeyUsage
value, ENCRYPT_DECRYPT
to create a symmetric encryption key. No other key type is supported in a custom key store.
To create a KMS key in an CloudHSM key store, use the Origin
parameter with a value of AWS_CLOUDHSM
. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.
To create a KMS key in an external key store, use the Origin
parameter with a value of EXTERNAL_KEY_STORE
and an XksKeyId
parameter that identifies an existing external key.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Cross-account use: No. You cannot use this operation to create a KMS key in a different Amazon Web Services account.
Required permissions: kms:CreateKey (IAM policy). To use the Tags
parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.
Related operations:
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" }, "Decrypt":{ "name":"Decrypt", @@ -212,6 +213,27 @@ ], "documentation":"Deletes key material that was previously imported. This operation makes the specified KMS key temporarily unusable. To restore the usability of the KMS key, reimport the same key material. For more information about importing key material into KMS, see Importing Key Material in the Key Management Service Developer Guide.
When the specified KMS key is in the PendingDeletion
state, this operation does not change the KMS key's state. Otherwise, it changes the KMS key's state to PendingImport
.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:DeleteImportedKeyMaterial (key policy)
Related operations:
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" }, + "DeriveSharedSecret":{ + "name":"DeriveSharedSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeriveSharedSecretRequest"}, + "output":{"shape":"DeriveSharedSecretResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"DryRunOperationException"} + ], + "documentation":"Derives a shared secret using a key agreement algorithm.
You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) KMS key pair with a KeyUsage
value of KEY_AGREEMENT
to call DeriveSharedSecret.
DeriveSharedSecret uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) to establish a key agreement between two peers by deriving a shared secret from their elliptic curve public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to derive a symmetric key that can encrypt and decrypt data that is sent between the two peers, or that can generate and verify HMACs. KMS recommends that you follow NIST recommendations for key derivation when using the raw shared secret to derive a symmetric key.
The following workflow demonstrates how to establish key agreement over an insecure communication channel using DeriveSharedSecret.
Alice calls CreateKey to create an asymmetric KMS key pair with a KeyUsage
value of KEY_AGREEMENT
.
The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key spec.
Bob creates an elliptic curve key pair.
Bob can call CreateKey to create an asymmetric KMS key pair or generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.
Alice and Bob exchange their public keys through an insecure communication channel (like the internet).
Use GetPublicKey to download the public key of your asymmetric KMS key pair.
KMS strongly recommends verifying that the public key you receive came from the expected party before using it to derive a shared secret.
Alice calls DeriveSharedSecret.
KMS uses the private key from the KMS key pair generated in Step 1, Bob's public key, and the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.
Bob uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to calculate the same raw secret using his private key and Alice's public key.
To derive a shared secret you must provide a key agreement algorithm, the private key of the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a key pair generated outside of KMS, but both key pairs must be on the same elliptic curve.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId
parameter.
Required permissions: kms:DeriveSharedSecret (key policy)
Related operations:
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" + }, "DescribeCustomKeyStores":{ "name":"DescribeCustomKeyStores", "http":{ @@ -522,7 +544,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"Returns the public key and an import token you need to import or reimport key material for a KMS key.
By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.
Before calling GetParametersForImport
, use the CreateKey operation with an Origin
value of EXTERNAL
to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport
to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.
GetParametersForImport
returns the items that you need to import your key material.
The public key (or \"wrapping key\") of an asymmetric key pair that KMS generates.
You will use this public key to encrypt (\"wrap\") your key material while it's in transit to KMS.
A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.
The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo
field in the GetParametersForImport
response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport
request.
GetParametersForImport
requires the following information:
The key ID of the KMS key for which you are importing the key material.
The key spec of the public key (\"wrapping key\") that you will use to encrypt your key material during import.
The wrapping algorithm that you will use with the public key to encrypt your key material.
You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:GetParametersForImport (key policy)
Related operations:
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" + "documentation":"Returns the public key and an import token you need to import or reimport key material for a KMS key.
By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.
Before calling GetParametersForImport
, use the CreateKey operation with an Origin
value of EXTERNAL
to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport
to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.
GetParametersForImport
returns the items that you need to import your key material.
The public key (or \"wrapping key\") of an RSA key pair that KMS generates.
You will use this public key to encrypt (\"wrap\") your key material while it's in transit to KMS.
A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.
The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo
field in the GetParametersForImport
response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport
request.
GetParametersForImport
requires the following information:
The key ID of the KMS key for which you are importing the key material.
The key spec of the public key (\"wrapping key\") that you will use to encrypt your key material during import.
The wrapping algorithm that you will use with the public key to encrypt your key material.
You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:GetParametersForImport (key policy)
Related operations:
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" }, "GetPublicKey":{ "name":"GetPublicKey", @@ -544,7 +566,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey
permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.
To help you use the public key safely outside of KMS, GetPublicKey
returns important information about the public key in the response, including:
KeySpec: The type of key material in the public key, such as RSA_4096
or ECC_NIST_P521
.
KeyUsage: Whether the key is used for encryption or signing.
EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.
Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.
To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678
as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId
parameter.
Required permissions: kms:GetPublicKey (key policy)
Related operations: CreateKey
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" + "documentation":"Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey
permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.
To help you use the public key safely outside of KMS, GetPublicKey
returns important information about the public key in the response, including:
KeySpec: The type of key material in the public key, such as RSA_4096
or ECC_NIST_P521
.
KeyUsage: Whether the key is used for encryption, signing, or deriving a shared secret.
EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.
Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.
To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678
as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId
parameter.
Required permissions: kms:GetPublicKey (key policy)
Related operations: CreateKey
Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.
" }, "ImportKeyMaterial":{ "name":"ImportKeyMaterial", @@ -1336,7 +1358,7 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT
. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage
value after the KMS key is created.
Select only one valid value.
For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT
.
For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC
.
For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT
or SIGN_VERIFY
.
For asymmetric KMS keys with ECC key material, specify SIGN_VERIFY
.
For asymmetric KMS keys with SM2 key material (China Regions only), specify ENCRYPT_DECRYPT
or SIGN_VERIFY
.
Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT
. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage
value after the KMS key is created.
Select only one valid value.
For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT
.
For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC
.
For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT
or SIGN_VERIFY
.
For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify SIGN_VERIFY
or KEY_AGREEMENT
.
For asymmetric KMS keys with ECC_SECG_P256K1
key pairs specify SIGN_VERIFY
.
For asymmetric KMS keys with SM2 key pairs (China Regions only), specify ENCRYPT_DECRYPT
, SIGN_VERIFY
, or KEY_AGREEMENT
.
Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT
, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the Key Management Service Developer Guide .
The KeySpec
determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec
after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the Key Management Service Developer Guide .
Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.
KMS supports the following key specs for KMS keys:
Symmetric encryption key (default)
SYMMETRIC_DEFAULT
HMAC keys (symmetric)
HMAC_224
HMAC_256
HMAC_384
HMAC_512
Asymmetric RSA key pairs
RSA_2048
RSA_3072
RSA_4096
Asymmetric NIST-recommended elliptic curve key pairs
ECC_NIST_P256
(secp256r1)
ECC_NIST_P384
(secp384r1)
ECC_NIST_P521
(secp521r1)
Other asymmetric elliptic curve key pairs
ECC_SECG_P256K1
(secp256k1), commonly used for cryptocurrencies.
SM2 key pairs (China Regions only)
SM2
Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT
, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the Key Management Service Developer Guide .
The KeySpec
determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec
after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the Key Management Service Developer Guide .
Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.
KMS supports the following key specs for KMS keys:
Symmetric encryption key (default)
SYMMETRIC_DEFAULT
HMAC keys (symmetric)
HMAC_224
HMAC_256
HMAC_384
HMAC_512
Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)
RSA_2048
RSA_3072
RSA_4096
Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared secrets)
ECC_NIST_P256
(secp256r1)
ECC_NIST_P384
(secp384r1)
ECC_NIST_P521
(secp521r1)
Other asymmetric elliptic curve key pairs (signing and verification)
ECC_SECG_P256K1
(secp256k1), commonly used for cryptocurrencies.
SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)
SM2
(China Regions only)
Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions only) KMS key. KMS uses the private key in the specified key pair to derive the shared secret. The key usage of the KMS key must be KEY_AGREEMENT
. To find the KeyUsage
of a KMS key, use the DescribeKey operation.
To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\"
. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
" + }, + "KeyAgreementAlgorithm":{ + "shape":"KeyAgreementAlgorithmSpec", + "documentation":"Specifies the key agreement algorithm used to derive the shared secret. The only valid value is ECDH
.
Specifies the public key in your peer's NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key pair.
The public key must be a DER-encoded X.509 public key, also known as SubjectPublicKeyInfo
(SPKI), as defined in RFC 5280.
GetPublicKey returns the public key of an asymmetric KMS key pair in the required DER-encoded format.
If you use Amazon Web Services CLI version 1, you must provide the DER-encoded X.509 public key in a file. Otherwise, the Amazon Web Services CLI Base64-encodes the public key a second time, resulting in a ValidationException
.
You can specify the public key as binary data in a file using fileb (fileb://<path-to-file>
) or in-line using a Base64 encoded string.
A list of grant tokens.
Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the Key Management Service Developer Guide.
" + }, + "DryRun":{ + "shape":"NullableBooleanType", + "documentation":"Checks if your request will succeed. DryRun
is an optional parameter.
To learn more about how to use this parameter, see Testing your KMS API calls in the Key Management Service Developer Guide.
" + }, + "Recipient":{ + "shape":"RecipientInfo", + "documentation":"A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256
.
This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the Amazon Web Services Nitro Enclaves SDK to generate the attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the attestation document for the enclave.
When you use this parameter, instead of returning a plaintext copy of the shared secret, KMS encrypts the plaintext shared secret under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient
field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob
field in the response contains the encrypted shared secret derived from the KMS key specified by the KeyId
parameter and public key specified by the PublicKey
parameter. The SharedSecret
field in the response is null or empty.
For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
" + } + } + }, + "DeriveSharedSecretResponse":{ + "type":"structure", + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"Identifies the KMS key used to derive the shared secret.
" + }, + "SharedSecret":{ + "shape":"PlaintextType", + "documentation":"The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.
If the response includes the CiphertextForRecipient
field, the SharedSecret
field is null or empty.
The plaintext shared secret encrypted with the public key in the attestation document.
This field is included in the response only when the Recipient
parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
Identifies the key agreement algorithm used to derive the shared secret.
" + }, + "KeyOrigin":{ + "shape":"OriginType", + "documentation":"The source of the key material for the specified KMS key.
When this value is AWS_KMS
, KMS created the key material. When this value is EXTERNAL
, the key material was imported or the KMS key doesn't have any key material.
The only valid values for DeriveSharedSecret are AWS_KMS
and EXTERNAL
. DeriveSharedSecret does not support KMS keys with a KeyOrigin
value of AWS_CLOUDHSM
or EXTERNAL_KEY_STORE
.
A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256
.
This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To include this parameter, use the Amazon Web Services Nitro Enclaves SDK or any Amazon Web Services SDK.
When you use this parameter, instead of returning a plaintext copy of the private data key, KMS encrypts the plaintext private data key under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient
field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob
field in the response contains a copy of the private data key encrypted under the KMS key specified by the KeyId
parameter. The PrivateKeyPlaintext
field in the response is null or empty.
For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
" + "documentation":"A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256
.
This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the Amazon Web Services Nitro Enclaves SDK to generate the attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the attestation document for the enclave.
When you use this parameter, instead of returning a plaintext copy of the private data key, KMS encrypts the plaintext private data key under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient
field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob
field in the response contains a copy of the private data key encrypted under the KMS key specified by the KeyId
parameter. The PrivateKeyPlaintext
field in the response is null or empty.
For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
" }, "DryRun":{ "shape":"NullableBooleanType", @@ -2208,11 +2289,11 @@ }, "WrappingAlgorithm":{ "shape":"AlgorithmSpec", - "documentation":"The algorithm you will use with the asymmetric public key (PublicKey
) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.
For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS. For SM2PKE wrapping algorithms, you encrypt your key material directly with the SM2 public key from KMS.
The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm, except in China Regions, where you must use the SM2PKE wrapping algorithm to import an RSA private key.
The SM2PKE wrapping algorithm is available only in China Regions. The RSA_AES_KEY_WRAP_SHA_256
and RSA_AES_KEY_WRAP_SHA_1
wrapping algorithms are not supported in China Regions.
RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.
RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.
RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).
You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.
RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).
You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.
RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.
SM2PKE (China Regions only) — supported for wrapping RSA, ECC, and SM2 key material.
The algorithm you will use with the RSA public key (PublicKey
) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.
For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS.
The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm.
RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.
RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.
RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).
You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.
RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).
You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.
RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.
The type of public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.
Use the longest wrapping key that is practical.
You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.
The SM2 wrapping key spec is available only in China Regions.
" + "documentation":"The type of RSA public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.
Use the longest RSA wrapping key that is practical.
You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.
" } } }, @@ -2274,7 +2355,7 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"The permitted use of the public key. Valid values are ENCRYPT_DECRYPT
or SIGN_VERIFY
.
This information is critical. If a public key with SIGN_VERIFY
key usage encrypts data outside of KMS, the ciphertext cannot be decrypted.
The permitted use of the public key. Valid values for asymmetric key pairs are ENCRYPT_DECRYPT
, SIGN_VERIFY
, and KEY_AGREEMENT
.
This information is critical. For example, if a public key with SIGN_VERIFY
key usage encrypts data outside of KMS, the ciphertext cannot be decrypted.
The signing algorithms that KMS supports for this key.
This field appears in the response only when the KeyUsage
of the public key is SIGN_VERIFY
.
The key agreement algorithm used to derive a shared secret. This field is present only when the KMS key has a KeyUsage
value of KEY_AGREEMENT
.
The request was rejected for one of the following reasons:
The KeyUsage
value of the KMS key is incompatible with the API operation.
The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the KMS key (KeySpec
).
For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage
must be ENCRYPT_DECRYPT
. For signing and verifying messages, the KeyUsage
must be SIGN_VERIFY
. For generating and verifying message authentication codes (MACs), the KeyUsage
must be GENERATE_VERIFY_MAC
. To find the KeyUsage
of a KMS key, use the DescribeKey operation.
To find the encryption or signing algorithms supported for a particular KMS key, use the DescribeKey operation.
", + "documentation":"The request was rejected for one of the following reasons:
The KeyUsage
value of the KMS key is incompatible with the API operation.
The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the KMS key (KeySpec
).
For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage
must be ENCRYPT_DECRYPT
. For signing and verifying messages, the KeyUsage
must be SIGN_VERIFY
. For generating and verifying message authentication codes (MACs), the KeyUsage
must be GENERATE_VERIFY_MAC
. For deriving key agreement secrets, the KeyUsage
must be KEY_AGREEMENT
. To find the KeyUsage
of a KMS key, use the DescribeKey operation.
To find the encryption or signing algorithms supported for a particular KMS key, use the DescribeKey operation.
", "exception":true }, "InvalidMarkerException":{ @@ -2549,6 +2635,14 @@ "documentation":"The request was rejected because the state of the specified resource is not valid for this request.
This exceptions means one of the following:
The key state of the KMS key is not compatible with the operation.
To find the key state, use the DescribeKey operation. For more information about which key states are compatible with each KMS operation, see Key states of KMS keys in the Key Management Service Developer Guide .
For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.
The signing algorithms that the KMS key supports. You cannot use the KMS key with other signing algorithms within KMS.
This field appears only when the KeyUsage
of the KMS key is SIGN_VERIFY
.
The key agreement algorithm used to derive a shared secret.
" + }, "MultiRegion":{ "shape":"NullableBooleanType", "documentation":"Indicates whether the KMS key is a multi-Region (True
) or regional (False
) key. This value is True
for multi-Region primary and replica keys and False
for regional KMS keys.
For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
" @@ -2739,7 +2837,8 @@ "enum":[ "SIGN_VERIFY", "ENCRYPT_DECRYPT", - "GENERATE_VERIFY_MAC" + "GENERATE_VERIFY_MAC", + "KEY_AGREEMENT" ] }, "LimitExceededException":{ diff --git a/botocore/data/mediapackagev2/2022-12-25/service-2.json b/botocore/data/mediapackagev2/2022-12-25/service-2.json index 9b5efe8615..250b9ffaa3 100644 --- a/botocore/data/mediapackagev2/2022-12-25/service-2.json +++ b/botocore/data/mediapackagev2/2022-12-25/service-2.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2022-12-25", + "auth":["aws.auth#sigv4"], "endpointPrefix":"mediapackagev2", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"mediapackagev2", "serviceFullName":"AWS Elemental MediaPackage v2", "serviceId":"MediaPackageV2", @@ -557,6 +558,10 @@ "Description":{ "shape":"ResourceDescription", "documentation":"Any descriptive information that you want to add to the channel for future identification purposes.
" + }, + "InputType":{ + "shape":"InputType", + "documentation":"The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments).
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
The configuration of the channel.
" @@ -694,6 +699,10 @@ "location":"header", "locationName":"x-amzn-client-token" }, + "InputType":{ + "shape":"InputType", + "documentation":"The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments).
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
Enter any descriptive text that helps you to identify the channel.
" @@ -740,6 +749,10 @@ "documentation":"The description for your channel.
" }, "IngestEndpoints":{"shape":"IngestEndpointList"}, + "InputType":{ + "shape":"InputType", + "documentation":"The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments).
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
" @@ -965,6 +978,10 @@ "shape":"CreateDashManifests", "documentation":"A DASH manifest configuration.
" }, + "ForceEndpointErrorConfiguration":{ + "shape":"ForceEndpointErrorConfiguration", + "documentation":"The failover settings for the endpoint.
" + }, "Tags":{ "shape":"TagMap", "documentation":"A comma-separated list of tag key:value pairs that you define. For example:
\"Key1\": \"Value1\",
\"Key2\": \"Value2\"
A DASH manifest configuration.
" }, + "ForceEndpointErrorConfiguration":{ + "shape":"ForceEndpointErrorConfiguration", + "documentation":"The failover settings for the endpoint.
" + }, "ETag":{ "shape":"EntityTag", "documentation":"The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
" @@ -1321,6 +1342,19 @@ }, "documentation":"The encryption type.
" }, + "EndpointErrorCondition":{ + "type":"string", + "enum":[ + "STALE_MANIFEST", + "INCOMPLETE_MANIFEST", + "MISSING_DRM_KEY", + "SLATE_INPUT" + ] + }, + "EndpointErrorConditions":{ + "type":"list", + "member":{"shape":"EndpointErrorCondition"} + }, "EntityTag":{ "type":"string", "max":256, @@ -1360,6 +1394,16 @@ "max":1209600, "min":0 }, + "ForceEndpointErrorConfiguration":{ + "type":"structure", + "members":{ + "EndpointErrorConditions":{ + "shape":"EndpointErrorConditions", + "documentation":"The failover conditions for the endpoint. The options are:
STALE_MANIFEST
- The manifest stalled and there are no new segments or parts.
INCOMPLETE_MANIFEST
- There is a gap in the manifest.
MISSING_DRM_KEY
- Key rotation is enabled but we're unable to fetch the key for the current key period.
SLATE_INPUT
- The segments which contain slate content are considered to be missing content.
The failover settings for the endpoint.
" + }, "GetChannelGroupRequest":{ "type":"structure", "required":["ChannelGroupName"], @@ -1516,6 +1560,10 @@ "documentation":"The description for your channel.
" }, "IngestEndpoints":{"shape":"IngestEndpointList"}, + "InputType":{ + "shape":"InputType", + "documentation":"The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments).
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
" @@ -1798,6 +1846,14 @@ "shape":"GetLowLatencyHlsManifests", "documentation":"A low-latency HLS manifest configuration.
" }, + "DashManifests":{ + "shape":"GetDashManifests", + "documentation":"A DASH manifest configuration.
" + }, + "ForceEndpointErrorConfiguration":{ + "shape":"ForceEndpointErrorConfiguration", + "documentation":"The failover settings for the endpoint.
" + }, "ETag":{ "shape":"EntityTag", "documentation":"The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
" @@ -1805,10 +1861,6 @@ "Tags":{ "shape":"TagMap", "documentation":"The comma-separated list of tag key:value pairs assigned to the origin endpoint.
" - }, - "DashManifests":{ - "shape":"GetDashManifests", - "documentation":"A DASH manifest configuration.
" } } }, @@ -1837,6 +1889,13 @@ "member":{"shape":"IngestEndpoint"}, "documentation":"The list of ingest endpoints.
" }, + "InputType":{ + "type":"string", + "enum":[ + "HLS", + "CMAF" + ] + }, "Integer":{ "type":"integer", "box":true @@ -2116,6 +2175,10 @@ "DashManifests":{ "shape":"ListDashManifests", "documentation":"A DASH manifest configuration.
" + }, + "ForceEndpointErrorConfiguration":{ + "shape":"ForceEndpointErrorConfiguration", + "documentation":"The failover settings for the endpoint.
" } }, "documentation":"The configuration of the origin endpoint.
" @@ -2625,6 +2688,10 @@ "documentation":"The description for your channel.
" }, "IngestEndpoints":{"shape":"IngestEndpointList"}, + "InputType":{ + "shape":"InputType", + "documentation":"The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments).
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
" @@ -2691,6 +2758,10 @@ "shape":"CreateDashManifests", "documentation":"A DASH manifest configuration.
" }, + "ForceEndpointErrorConfiguration":{ + "shape":"ForceEndpointErrorConfiguration", + "documentation":"The failover settings for the endpoint.
" + }, "ETag":{ "shape":"EntityTag", "documentation":"The expected current Entity Tag (ETag) for the resource. If the specified ETag does not match the resource's current entity tag, the update request will be rejected.
", @@ -2766,6 +2837,10 @@ "shape":"GetLowLatencyHlsManifests", "documentation":"A low-latency HLS manifest configuration.
" }, + "ForceEndpointErrorConfiguration":{ + "shape":"ForceEndpointErrorConfiguration", + "documentation":"The failover settings for the endpoint.
" + }, "ETag":{ "shape":"EntityTag", "documentation":"The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
" @@ -2840,7 +2915,9 @@ "TIMING_SOURCE_MISSING", "UPDATE_PERIOD_SMALLER_THAN_SEGMENT_DURATION", "PERIOD_TRIGGERS_NONE_SPECIFIED_WITH_ADDITIONAL_VALUES", - "DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS" + "DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS", + "ONLY_CMAF_INPUT_TYPE_ALLOW_FORCE_ENDPOINT_ERROR_CONFIGURATION", + "SOURCE_DISRUPTIONS_ENABLED_INCORRECTLY" ] } }, diff --git a/docs/source/conf.py b/docs/source/conf.py index c52a96b5bf..f2cb771072 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.34.1' # The full version, including alpha/beta/rc tags. -release = '1.34.125' +release = '1.34.126' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.