diff --git a/clients/client-opensearchserverless/README.md b/clients/client-opensearchserverless/README.md index ceb56726a6b3e..4479f728b5c8b 100644 --- a/clients/client-opensearchserverless/README.md +++ b/clients/client-opensearchserverless/README.md @@ -19,7 +19,7 @@ Amazon OpenSearch Serverless? ## Installing -To install the this package, simply type add or install @aws-sdk/client-opensearchserverless +To install this package, simply type add or install @aws-sdk/client-opensearchserverless using your favorite package manager: - `npm install @aws-sdk/client-opensearchserverless` diff --git a/clients/client-opensearchserverless/src/commands/CreateSecurityConfigCommand.ts b/clients/client-opensearchserverless/src/commands/CreateSecurityConfigCommand.ts index 5a27cb3e4336e..b16f3fdf0c9ad 100644 --- a/clients/client-opensearchserverless/src/commands/CreateSecurityConfigCommand.ts +++ b/clients/client-opensearchserverless/src/commands/CreateSecurityConfigCommand.ts @@ -51,6 +51,11 @@ export interface CreateSecurityConfigCommandOutput extends CreateSecurityConfigR * groupAttribute: "STRING_VALUE", * sessionTimeout: Number("int"), * }, + * iamIdentityCenterOptions: { // CreateIamIdentityCenterConfigOptions + * instanceArn: "STRING_VALUE", // required + * userAttribute: "STRING_VALUE", + * groupAttribute: "STRING_VALUE", + * }, * clientToken: "STRING_VALUE", * }; * const command = new CreateSecurityConfigCommand(input); @@ -67,6 +72,14 @@ export interface CreateSecurityConfigCommandOutput extends CreateSecurityConfigR * // groupAttribute: "STRING_VALUE", * // sessionTimeout: Number("int"), * // }, + * // iamIdentityCenterOptions: { // IamIdentityCenterConfigOptions + * // instanceArn: "STRING_VALUE", + * // applicationArn: "STRING_VALUE", + * // applicationName: "STRING_VALUE", + * // applicationDescription: "STRING_VALUE", + * // userAttribute: "STRING_VALUE", + * // groupAttribute: "STRING_VALUE", + * // }, * // createdDate: Number("long"), * // lastModifiedDate: Number("long"), * // }, diff --git a/clients/client-opensearchserverless/src/commands/GetSecurityConfigCommand.ts b/clients/client-opensearchserverless/src/commands/GetSecurityConfigCommand.ts index da44dec1d1ea3..d7df161391b8c 100644 --- a/clients/client-opensearchserverless/src/commands/GetSecurityConfigCommand.ts +++ b/clients/client-opensearchserverless/src/commands/GetSecurityConfigCommand.ts @@ -58,6 +58,14 @@ export interface GetSecurityConfigCommandOutput extends GetSecurityConfigRespons * // groupAttribute: "STRING_VALUE", * // sessionTimeout: Number("int"), * // }, + * // iamIdentityCenterOptions: { // IamIdentityCenterConfigOptions + * // instanceArn: "STRING_VALUE", + * // applicationArn: "STRING_VALUE", + * // applicationName: "STRING_VALUE", + * // applicationDescription: "STRING_VALUE", + * // userAttribute: "STRING_VALUE", + * // groupAttribute: "STRING_VALUE", + * // }, * // createdDate: Number("long"), * // lastModifiedDate: Number("long"), * // }, diff --git a/clients/client-opensearchserverless/src/commands/UpdateSecurityConfigCommand.ts b/clients/client-opensearchserverless/src/commands/UpdateSecurityConfigCommand.ts index 505ed204adbbe..f4b0c6067de3f 100644 --- a/clients/client-opensearchserverless/src/commands/UpdateSecurityConfigCommand.ts +++ b/clients/client-opensearchserverless/src/commands/UpdateSecurityConfigCommand.ts @@ -51,6 +51,10 @@ export interface UpdateSecurityConfigCommandOutput extends UpdateSecurityConfigR * groupAttribute: "STRING_VALUE", * sessionTimeout: Number("int"), * }, + * iamIdentityCenterOptionsUpdates: { // UpdateIamIdentityCenterConfigOptions + * userAttribute: "STRING_VALUE", + * groupAttribute: "STRING_VALUE", + * }, * clientToken: "STRING_VALUE", * }; * const command = new UpdateSecurityConfigCommand(input); @@ -67,6 +71,14 @@ export interface UpdateSecurityConfigCommandOutput extends UpdateSecurityConfigR * // groupAttribute: "STRING_VALUE", * // sessionTimeout: Number("int"), * // }, + * // iamIdentityCenterOptions: { // IamIdentityCenterConfigOptions + * // instanceArn: "STRING_VALUE", + * // applicationArn: "STRING_VALUE", + * // applicationName: "STRING_VALUE", + * // applicationDescription: "STRING_VALUE", + * // userAttribute: "STRING_VALUE", + * // groupAttribute: "STRING_VALUE", + * // }, * // createdDate: Number("long"), * // lastModifiedDate: Number("long"), * // }, diff --git a/clients/client-opensearchserverless/src/models/models_0.ts b/clients/client-opensearchserverless/src/models/models_0.ts index ab8ce1c206d43..19c15d1833ee4 100644 --- a/clients/client-opensearchserverless/src/models/models_0.ts +++ b/clients/client-opensearchserverless/src/models/models_0.ts @@ -1538,6 +1538,76 @@ export interface UpdateCollectionResponse { updateCollectionDetail?: UpdateCollectionDetail; } +/** + * @public + * @enum + */ +export const IamIdentityCenterGroupAttribute = { + /** + * Group ID + */ + GroupId: "GroupId", + /** + * Group Name + */ + GroupName: "GroupName", +} as const; + +/** + * @public + */ +export type IamIdentityCenterGroupAttribute = + (typeof IamIdentityCenterGroupAttribute)[keyof typeof IamIdentityCenterGroupAttribute]; + +/** + * @public + * @enum + */ +export const IamIdentityCenterUserAttribute = { + /** + * Email + */ + Email: "Email", + /** + * User ID + */ + UserId: "UserId", + /** + * User Name + */ + UserName: "UserName", +} as const; + +/** + * @public + */ +export type IamIdentityCenterUserAttribute = + (typeof IamIdentityCenterUserAttribute)[keyof typeof IamIdentityCenterUserAttribute]; + +/** + *
Describes IAM Identity Center options for creating an OpenSearch Serverless security configuration in the form of a key-value map.
+ * @public + */ +export interface CreateIamIdentityCenterConfigOptions { + /** + *The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.
+ * @public + */ + instanceArn: string | undefined; + + /** + *The user attribute for this IAM Identity Center integration. Defaults to UserId
.
The group attribute for this IAM Identity Center integration. Defaults to GroupId
.
Describes IAM Identity Center options in the form of a key-value map. This field is required if you specify iamidentitycenter for the type parameter.
+ * @public + */ + iamIdentityCenterOptions?: CreateIamIdentityCenterConfigOptions; + /** *Unique, case-sensitive identifier to ensure idempotency of the request.
* @public @@ -1667,6 +1747,49 @@ export interface CreateSecurityConfigRequest { clientToken?: string; } +/** + *Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map.
+ * @public + */ +export interface IamIdentityCenterConfigOptions { + /** + *The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.
+ * @public + */ + instanceArn?: string; + + /** + *The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless.
+ * @public + */ + applicationArn?: string; + + /** + *The name of the IAM Identity Center application used to integrate with OpenSearch Serverless.
+ * @public + */ + applicationName?: string; + + /** + *The description of the IAM Identity Center application used to integrate with OpenSearch Serverless.
+ * @public + */ + applicationDescription?: string; + + /** + *The user attribute for this IAM Identity Center integration. Defaults to UserId
+ *
The group attribute for this IAM Identity Center integration. Defaults to GroupId
.
Details about a security configuration for OpenSearch Serverless.
* @public @@ -1702,6 +1825,12 @@ export interface SecurityConfigDetail { */ samlOptions?: SamlConfigOptions; + /** + *Describes IAM Identity Center options in the form of a key-value map.
+ * @public + */ + iamIdentityCenterOptions?: IamIdentityCenterConfigOptions; + /** *The date the configuration was created.
* @public @@ -2624,6 +2753,24 @@ export interface ListVpcEndpointsResponse { nextToken?: string; } +/** + *Describes IAM Identity Center options for updating an OpenSearch Serverless security configuration in the form of a key-value map.
+ * @public + */ +export interface UpdateIamIdentityCenterConfigOptions { + /** + *The user attribute for this IAM Identity Center integration. Defaults to UserId
.
The group attribute for this IAM Identity Center integration. Defaults to GroupId
.
Describes IAM Identity Center options in the form of a key-value map.
+ * @public + */ + iamIdentityCenterOptionsUpdates?: UpdateIamIdentityCenterConfigOptions; + /** *Unique, case-sensitive identifier to ensure idempotency of the request.
* @public diff --git a/clients/client-opensearchserverless/src/protocols/Aws_json1_0.ts b/clients/client-opensearchserverless/src/protocols/Aws_json1_0.ts index 53f55d863cad2..08edbceb58818 100644 --- a/clients/client-opensearchserverless/src/protocols/Aws_json1_0.ts +++ b/clients/client-opensearchserverless/src/protocols/Aws_json1_0.ts @@ -120,6 +120,7 @@ import { CreateAccessPolicyRequest, CreateAccessPolicyResponse, CreateCollectionRequest, + CreateIamIdentityCenterConfigOptions, CreateLifecyclePolicyRequest, CreateLifecyclePolicyResponse, CreateSecurityConfigRequest, @@ -162,6 +163,7 @@ import { UpdateAccessPolicyResponse, UpdateAccountSettingsRequest, UpdateCollectionRequest, + UpdateIamIdentityCenterConfigOptions, UpdateLifecyclePolicyRequest, UpdateLifecyclePolicyResponse, UpdateSecurityConfigRequest, @@ -1565,6 +1567,8 @@ const se_CreateCollectionRequest = (input: CreateCollectionRequest, context: __S }); }; +// se_CreateIamIdentityCenterConfigOptions omitted. + /** * serializeAws_json1_0CreateLifecyclePolicyRequest */ @@ -1585,6 +1589,7 @@ const se_CreateSecurityConfigRequest = (input: CreateSecurityConfigRequest, cont return take(input, { clientToken: [true, (_) => _ ?? generateIdempotencyToken()], description: [], + iamIdentityCenterOptions: _json, name: [], samlOptions: _json, type: [], @@ -1759,6 +1764,8 @@ const se_UpdateCollectionRequest = (input: UpdateCollectionRequest, context: __S }); }; +// se_UpdateIamIdentityCenterConfigOptions omitted. + /** * serializeAws_json1_0UpdateLifecyclePolicyRequest */ @@ -1781,6 +1788,7 @@ const se_UpdateSecurityConfigRequest = (input: UpdateSecurityConfigRequest, cont clientToken: [true, (_) => _ ?? generateIdempotencyToken()], configVersion: [], description: [], + iamIdentityCenterOptionsUpdates: _json, id: [], samlOptions: _json, }); @@ -1958,6 +1966,8 @@ const de_GetSecurityPolicyResponse = (output: any, context: __SerdeContext): Get }) as any; }; +// de_IamIdentityCenterConfigOptions omitted. + // de_InternalServerException omitted. /** diff --git a/codegen/sdk-codegen/aws-models/opensearchserverless.json b/codegen/sdk-codegen/aws-models/opensearchserverless.json index 8873b268a0d3b..360887366858d 100644 --- a/codegen/sdk-codegen/aws-models/opensearchserverless.json +++ b/codegen/sdk-codegen/aws-models/opensearchserverless.json @@ -1005,6 +1005,33 @@ } } }, + "com.amazonaws.opensearchserverless#CreateIamIdentityCenterConfigOptions": { + "type": "structure", + "members": { + "instanceArn": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.
", + "smithy.api#required": {} + } + }, + "userAttribute": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterUserAttribute", + "traits": { + "smithy.api#documentation": "The user attribute for this IAM Identity Center integration. Defaults to UserId
.
The group attribute for this IAM Identity Center integration. Defaults to GroupId
.
Describes IAM Identity Center options for creating an OpenSearch Serverless security configuration in the form of a key-value map.
" + } + }, "com.amazonaws.opensearchserverless#CreateLifecyclePolicy": { "type": "operation", "input": { @@ -1145,6 +1172,12 @@ "smithy.api#documentation": "Describes SAML options in in the form of a key-value map. This field is required if\n you specify saml
for the type
parameter.
Describes IAM Identity Center options in the form of a key-value map. This field is required if you specify iamidentitycenter for the type parameter.
" + } + }, "clientToken": { "target": "com.amazonaws.opensearchserverless#ClientToken", "traits": { @@ -2082,6 +2115,109 @@ } } }, + "com.amazonaws.opensearchserverless#IamIdentityCenterApplicationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + } + }, + "com.amazonaws.opensearchserverless#IamIdentityCenterConfigOptions": { + "type": "structure", + "members": { + "instanceArn": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.
" + } + }, + "applicationArn": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterApplicationArn", + "traits": { + "smithy.api#documentation": "The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless.
" + } + }, + "applicationName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the IAM Identity Center application used to integrate with OpenSearch Serverless.
" + } + }, + "applicationDescription": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The description of the IAM Identity Center application used to integrate with OpenSearch Serverless.
" + } + }, + "userAttribute": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterUserAttribute", + "traits": { + "smithy.api#documentation": "The user attribute for this IAM Identity Center integration. Defaults to UserId
\n
The group attribute for this IAM Identity Center integration. Defaults to GroupId
.
Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map.
" + } + }, + "com.amazonaws.opensearchserverless#IamIdentityCenterGroupAttribute": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "GroupId", + "value": "GroupId", + "documentation": "Group ID" + }, + { + "name": "GroupName", + "value": "GroupName", + "documentation": "Group Name" + } + ] + } + }, + "com.amazonaws.opensearchserverless#IamIdentityCenterInstanceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + } + }, + "com.amazonaws.opensearchserverless#IamIdentityCenterUserAttribute": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "UserId", + "value": "UserId", + "documentation": "User ID" + }, + { + "name": "UserName", + "value": "UserName", + "documentation": "User Name" + }, + { + "name": "Email", + "value": "Email", + "documentation": "Email" + } + ] + } + }, "com.amazonaws.opensearchserverless#IndexingCapacityValue": { "type": "integer", "traits": { @@ -3825,6 +3961,12 @@ "smithy.api#documentation": "SAML options for the security configuration in the form of a key-value map.
" } }, + "iamIdentityCenterOptions": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterConfigOptions", + "traits": { + "smithy.api#documentation": "Describes IAM Identity Center options in the form of a key-value map.
" + } + }, "createdDate": { "target": "smithy.api#Long", "traits": { @@ -3923,6 +4065,11 @@ "name": "saml", "value": "saml", "documentation": "saml provider" + }, + { + "name": "iamidentitycenter", + "value": "iamidentitycenter", + "documentation": "iam identity center" } ] } @@ -4603,6 +4750,26 @@ } } }, + "com.amazonaws.opensearchserverless#UpdateIamIdentityCenterConfigOptions": { + "type": "structure", + "members": { + "userAttribute": { + "target": "com.amazonaws.opensearchserverless#IamIdentityCenterUserAttribute", + "traits": { + "smithy.api#documentation": "The user attribute for this IAM Identity Center integration. Defaults to UserId
.
The group attribute for this IAM Identity Center integration. Defaults to GroupId
.
Describes IAM Identity Center options for updating an OpenSearch Serverless security configuration in the form of a key-value map.
" + } + }, "com.amazonaws.opensearchserverless#UpdateLifecyclePolicy": { "type": "operation", "input": { @@ -4752,6 +4919,12 @@ "smithy.api#documentation": "SAML options in in the form of a key-value map.
" } }, + "iamIdentityCenterOptionsUpdates": { + "target": "com.amazonaws.opensearchserverless#UpdateIamIdentityCenterConfigOptions", + "traits": { + "smithy.api#documentation": "Describes IAM Identity Center options in the form of a key-value map.
" + } + }, "clientToken": { "target": "com.amazonaws.opensearchserverless#ClientToken", "traits": {