An AWS CDK construct library to manage OpenSearch resources via CloudFormation custom resource.
You can manage any other REST resources via our low level API (ResourceBase
class).
Instal it via npm:
npm install opensearch-rest-resources
Then you can create OpenSearch resources using Domain
construct.
import { IVpc } from 'aws-cdk-lib/aws-ec2';
import { Domain } from 'aws-cdk-lib/aws-opensearchservice';
import { OpenSearchRole, OpenSearchRoleMapping } from 'opensearch-rest-resources';
declare const vpc: IVpc;
declare const role: IRole;
declare const domain: Domain;
const role = new OpenSearchRole(this, 'Role1', {
vpc,
domain,
roleName: 'Role1',
payload: {
clusterPermissions: ['indices:data/write/bulk'],
indexPermissions: [
{
indexPatterns: ['*'],
allowedActions: ['read', 'write', 'index', 'create_index'],
},
],
}
});
const roleMapping = new OpenSearchRoleMapping(this, 'RoleMapping1', {
vpc,
domain,
roleName: 'Role1',
payload: {
backendRoles: [role.roleArn],
},
removalPolicy: RemovalPolicy.RETAIN,
});
roleMapping.node.addDependency(role);