Domain Policy Args
data class DomainPolicyArgs(val accessPolicies: Output<String>? = null, val domainName: Output<String>? = null) : ConvertibleToJava<DomainPolicyArgs>
Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.opensearch.Domain;
import com.pulumi.aws.opensearch.DomainArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.opensearch.DomainPolicy;
import com.pulumi.aws.opensearch.DomainPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Domain("example", DomainArgs.builder()
.engineVersion("OpenSearch_1.1")
.build());
final var mainPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.effect("Allow")
.principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.actions("es:*")
.resources(example.arn().applyValue(arn -> String.format("%s/*", arn)))
.condition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build());
var mainDomainPolicy = new DomainPolicy("mainDomainPolicy", DomainPolicyArgs.builder()
.domainName(example.domainName())
.accessPolicies(mainPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(mainPolicyDocument -> mainPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
.build());
}
}
Content copied to clipboard