Skip to content

Commit cecccbe

Browse files
author
awstools
committed
feat(client-opensearchserverless): Neo Integration via IAM Identity Center (IdC)
1 parent 83a5718 commit cecccbe

File tree

7 files changed

+370
-1
lines changed

7 files changed

+370
-1
lines changed

clients/client-opensearchserverless/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Amazon OpenSearch Serverless?</a>
1919

2020
## Installing
2121

22-
To install the this package, simply type add or install @aws-sdk/client-opensearchserverless
22+
To install this package, simply type add or install @aws-sdk/client-opensearchserverless
2323
using your favorite package manager:
2424

2525
- `npm install @aws-sdk/client-opensearchserverless`

clients/client-opensearchserverless/src/commands/CreateSecurityConfigCommand.ts

+13
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ export interface CreateSecurityConfigCommandOutput extends CreateSecurityConfigR
5151
* groupAttribute: "STRING_VALUE",
5252
* sessionTimeout: Number("int"),
5353
* },
54+
* iamIdentityCenterOptions: { // CreateIamIdentityCenterConfigOptions
55+
* instanceArn: "STRING_VALUE", // required
56+
* userAttribute: "STRING_VALUE",
57+
* groupAttribute: "STRING_VALUE",
58+
* },
5459
* clientToken: "STRING_VALUE",
5560
* };
5661
* const command = new CreateSecurityConfigCommand(input);
@@ -67,6 +72,14 @@ export interface CreateSecurityConfigCommandOutput extends CreateSecurityConfigR
6772
* // groupAttribute: "STRING_VALUE",
6873
* // sessionTimeout: Number("int"),
6974
* // },
75+
* // iamIdentityCenterOptions: { // IamIdentityCenterConfigOptions
76+
* // instanceArn: "STRING_VALUE",
77+
* // applicationArn: "STRING_VALUE",
78+
* // applicationName: "STRING_VALUE",
79+
* // applicationDescription: "STRING_VALUE",
80+
* // userAttribute: "STRING_VALUE",
81+
* // groupAttribute: "STRING_VALUE",
82+
* // },
7083
* // createdDate: Number("long"),
7184
* // lastModifiedDate: Number("long"),
7285
* // },

clients/client-opensearchserverless/src/commands/GetSecurityConfigCommand.ts

+8
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ export interface GetSecurityConfigCommandOutput extends GetSecurityConfigRespons
5858
* // groupAttribute: "STRING_VALUE",
5959
* // sessionTimeout: Number("int"),
6060
* // },
61+
* // iamIdentityCenterOptions: { // IamIdentityCenterConfigOptions
62+
* // instanceArn: "STRING_VALUE",
63+
* // applicationArn: "STRING_VALUE",
64+
* // applicationName: "STRING_VALUE",
65+
* // applicationDescription: "STRING_VALUE",
66+
* // userAttribute: "STRING_VALUE",
67+
* // groupAttribute: "STRING_VALUE",
68+
* // },
6169
* // createdDate: Number("long"),
6270
* // lastModifiedDate: Number("long"),
6371
* // },

clients/client-opensearchserverless/src/commands/UpdateSecurityConfigCommand.ts

+12
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ export interface UpdateSecurityConfigCommandOutput extends UpdateSecurityConfigR
5151
* groupAttribute: "STRING_VALUE",
5252
* sessionTimeout: Number("int"),
5353
* },
54+
* iamIdentityCenterOptionsUpdates: { // UpdateIamIdentityCenterConfigOptions
55+
* userAttribute: "STRING_VALUE",
56+
* groupAttribute: "STRING_VALUE",
57+
* },
5458
* clientToken: "STRING_VALUE",
5559
* };
5660
* const command = new UpdateSecurityConfigCommand(input);
@@ -67,6 +71,14 @@ export interface UpdateSecurityConfigCommandOutput extends UpdateSecurityConfigR
6771
* // groupAttribute: "STRING_VALUE",
6872
* // sessionTimeout: Number("int"),
6973
* // },
74+
* // iamIdentityCenterOptions: { // IamIdentityCenterConfigOptions
75+
* // instanceArn: "STRING_VALUE",
76+
* // applicationArn: "STRING_VALUE",
77+
* // applicationName: "STRING_VALUE",
78+
* // applicationDescription: "STRING_VALUE",
79+
* // userAttribute: "STRING_VALUE",
80+
* // groupAttribute: "STRING_VALUE",
81+
* // },
7082
* // createdDate: Number("long"),
7183
* // lastModifiedDate: Number("long"),
7284
* // },

clients/client-opensearchserverless/src/models/models_0.ts

+153
Original file line numberDiff line numberDiff line change
@@ -1538,6 +1538,76 @@ export interface UpdateCollectionResponse {
15381538
updateCollectionDetail?: UpdateCollectionDetail;
15391539
}
15401540

1541+
/**
1542+
* @public
1543+
* @enum
1544+
*/
1545+
export const IamIdentityCenterGroupAttribute = {
1546+
/**
1547+
* Group ID
1548+
*/
1549+
GroupId: "GroupId",
1550+
/**
1551+
* Group Name
1552+
*/
1553+
GroupName: "GroupName",
1554+
} as const;
1555+
1556+
/**
1557+
* @public
1558+
*/
1559+
export type IamIdentityCenterGroupAttribute =
1560+
(typeof IamIdentityCenterGroupAttribute)[keyof typeof IamIdentityCenterGroupAttribute];
1561+
1562+
/**
1563+
* @public
1564+
* @enum
1565+
*/
1566+
export const IamIdentityCenterUserAttribute = {
1567+
/**
1568+
* Email
1569+
*/
1570+
Email: "Email",
1571+
/**
1572+
* User ID
1573+
*/
1574+
UserId: "UserId",
1575+
/**
1576+
* User Name
1577+
*/
1578+
UserName: "UserName",
1579+
} as const;
1580+
1581+
/**
1582+
* @public
1583+
*/
1584+
export type IamIdentityCenterUserAttribute =
1585+
(typeof IamIdentityCenterUserAttribute)[keyof typeof IamIdentityCenterUserAttribute];
1586+
1587+
/**
1588+
* <p>Describes IAM Identity Center options for creating an OpenSearch Serverless security configuration in the form of a key-value map.</p>
1589+
* @public
1590+
*/
1591+
export interface CreateIamIdentityCenterConfigOptions {
1592+
/**
1593+
* <p>The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.</p>
1594+
* @public
1595+
*/
1596+
instanceArn: string | undefined;
1597+
1598+
/**
1599+
* <p>The user attribute for this IAM Identity Center integration. Defaults to <code>UserId</code>.</p>
1600+
* @public
1601+
*/
1602+
userAttribute?: IamIdentityCenterUserAttribute;
1603+
1604+
/**
1605+
* <p>The group attribute for this IAM Identity Center integration. Defaults to <code>GroupId</code>.</p>
1606+
* @public
1607+
*/
1608+
groupAttribute?: IamIdentityCenterGroupAttribute;
1609+
}
1610+
15411611
/**
15421612
* @public
15431613
*/
@@ -1620,6 +1690,10 @@ export interface SamlConfigOptions {
16201690
* @enum
16211691
*/
16221692
export const SecurityConfigType = {
1693+
/**
1694+
* iam identity center
1695+
*/
1696+
iamidentitycenter: "iamidentitycenter",
16231697
/**
16241698
* saml provider
16251699
*/
@@ -1660,13 +1734,62 @@ export interface CreateSecurityConfigRequest {
16601734
*/
16611735
samlOptions?: SamlConfigOptions;
16621736

1737+
/**
1738+
* <p>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.</p>
1739+
* @public
1740+
*/
1741+
iamIdentityCenterOptions?: CreateIamIdentityCenterConfigOptions;
1742+
16631743
/**
16641744
* <p>Unique, case-sensitive identifier to ensure idempotency of the request.</p>
16651745
* @public
16661746
*/
16671747
clientToken?: string;
16681748
}
16691749

1750+
/**
1751+
* <p>Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map.</p>
1752+
* @public
1753+
*/
1754+
export interface IamIdentityCenterConfigOptions {
1755+
/**
1756+
* <p>The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.</p>
1757+
* @public
1758+
*/
1759+
instanceArn?: string;
1760+
1761+
/**
1762+
* <p>The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless.</p>
1763+
* @public
1764+
*/
1765+
applicationArn?: string;
1766+
1767+
/**
1768+
* <p>The name of the IAM Identity Center application used to integrate with OpenSearch Serverless.</p>
1769+
* @public
1770+
*/
1771+
applicationName?: string;
1772+
1773+
/**
1774+
* <p>The description of the IAM Identity Center application used to integrate with OpenSearch Serverless.</p>
1775+
* @public
1776+
*/
1777+
applicationDescription?: string;
1778+
1779+
/**
1780+
* <p>The user attribute for this IAM Identity Center integration. Defaults to <code>UserId</code>
1781+
* </p>
1782+
* @public
1783+
*/
1784+
userAttribute?: IamIdentityCenterUserAttribute;
1785+
1786+
/**
1787+
* <p>The group attribute for this IAM Identity Center integration. Defaults to <code>GroupId</code>.</p>
1788+
* @public
1789+
*/
1790+
groupAttribute?: IamIdentityCenterGroupAttribute;
1791+
}
1792+
16701793
/**
16711794
* <p>Details about a security configuration for OpenSearch Serverless. </p>
16721795
* @public
@@ -1702,6 +1825,12 @@ export interface SecurityConfigDetail {
17021825
*/
17031826
samlOptions?: SamlConfigOptions;
17041827

1828+
/**
1829+
* <p>Describes IAM Identity Center options in the form of a key-value map.</p>
1830+
* @public
1831+
*/
1832+
iamIdentityCenterOptions?: IamIdentityCenterConfigOptions;
1833+
17051834
/**
17061835
* <p>The date the configuration was created.</p>
17071836
* @public
@@ -2624,6 +2753,24 @@ export interface ListVpcEndpointsResponse {
26242753
nextToken?: string;
26252754
}
26262755

2756+
/**
2757+
* <p>Describes IAM Identity Center options for updating an OpenSearch Serverless security configuration in the form of a key-value map.</p>
2758+
* @public
2759+
*/
2760+
export interface UpdateIamIdentityCenterConfigOptions {
2761+
/**
2762+
* <p>The user attribute for this IAM Identity Center integration. Defaults to <code>UserId</code>.</p>
2763+
* @public
2764+
*/
2765+
userAttribute?: IamIdentityCenterUserAttribute;
2766+
2767+
/**
2768+
* <p>The group attribute for this IAM Identity Center integration. Defaults to <code>GroupId</code>.</p>
2769+
* @public
2770+
*/
2771+
groupAttribute?: IamIdentityCenterGroupAttribute;
2772+
}
2773+
26272774
/**
26282775
* @public
26292776
*/
@@ -2656,6 +2803,12 @@ export interface UpdateSecurityConfigRequest {
26562803
*/
26572804
samlOptions?: SamlConfigOptions;
26582805

2806+
/**
2807+
* <p>Describes IAM Identity Center options in the form of a key-value map.</p>
2808+
* @public
2809+
*/
2810+
iamIdentityCenterOptionsUpdates?: UpdateIamIdentityCenterConfigOptions;
2811+
26592812
/**
26602813
* <p>Unique, case-sensitive identifier to ensure idempotency of the request.</p>
26612814
* @public

clients/client-opensearchserverless/src/protocols/Aws_json1_0.ts

+10
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ import {
120120
CreateAccessPolicyRequest,
121121
CreateAccessPolicyResponse,
122122
CreateCollectionRequest,
123+
CreateIamIdentityCenterConfigOptions,
123124
CreateLifecyclePolicyRequest,
124125
CreateLifecyclePolicyResponse,
125126
CreateSecurityConfigRequest,
@@ -162,6 +163,7 @@ import {
162163
UpdateAccessPolicyResponse,
163164
UpdateAccountSettingsRequest,
164165
UpdateCollectionRequest,
166+
UpdateIamIdentityCenterConfigOptions,
165167
UpdateLifecyclePolicyRequest,
166168
UpdateLifecyclePolicyResponse,
167169
UpdateSecurityConfigRequest,
@@ -1565,6 +1567,8 @@ const se_CreateCollectionRequest = (input: CreateCollectionRequest, context: __S
15651567
});
15661568
};
15671569

1570+
// se_CreateIamIdentityCenterConfigOptions omitted.
1571+
15681572
/**
15691573
* serializeAws_json1_0CreateLifecyclePolicyRequest
15701574
*/
@@ -1585,6 +1589,7 @@ const se_CreateSecurityConfigRequest = (input: CreateSecurityConfigRequest, cont
15851589
return take(input, {
15861590
clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
15871591
description: [],
1592+
iamIdentityCenterOptions: _json,
15881593
name: [],
15891594
samlOptions: _json,
15901595
type: [],
@@ -1759,6 +1764,8 @@ const se_UpdateCollectionRequest = (input: UpdateCollectionRequest, context: __S
17591764
});
17601765
};
17611766

1767+
// se_UpdateIamIdentityCenterConfigOptions omitted.
1768+
17621769
/**
17631770
* serializeAws_json1_0UpdateLifecyclePolicyRequest
17641771
*/
@@ -1781,6 +1788,7 @@ const se_UpdateSecurityConfigRequest = (input: UpdateSecurityConfigRequest, cont
17811788
clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
17821789
configVersion: [],
17831790
description: [],
1791+
iamIdentityCenterOptionsUpdates: _json,
17841792
id: [],
17851793
samlOptions: _json,
17861794
});
@@ -1958,6 +1966,8 @@ const de_GetSecurityPolicyResponse = (output: any, context: __SerdeContext): Get
19581966
}) as any;
19591967
};
19601968

1969+
// de_IamIdentityCenterConfigOptions omitted.
1970+
19611971
// de_InternalServerException omitted.
19621972

19631973
/**

0 commit comments

Comments
 (0)