DomainPermissionsArgs

data class DomainPermissionsArgs(val domain: Output<String>? = null, val domainOwner: Output<String>? = null, val policyDocument: Output<String>? = null, val policyRevision: Output<String>? = null) : ConvertibleToJava<DomainPermissionsArgs>

Provides a CodeArtifact Domains Permissions Policy Resource.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.codeartifact.Domain;
import com.pulumi.aws.codeartifact.DomainArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.codeartifact.DomainPermissions;
import com.pulumi.aws.codeartifact.DomainPermissionsArgs;
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 exampleKey = new Key("exampleKey", KeyArgs.builder()
.description("domain key")
.build());
var exampleDomain = new Domain("exampleDomain", DomainArgs.builder()
.domain("example")
.encryptionKey(exampleKey.arn())
.build());
final var testPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("*")
.identifiers("*")
.build())
.actions("codeartifact:CreateRepository")
.resources(exampleDomain.arn())
.build())
.build());
var testDomainPermissions = new DomainPermissions("testDomainPermissions", DomainPermissionsArgs.builder()
.domain(exampleDomain.domain())
.policyDocument(testPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(testPolicyDocument -> testPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
.build());
}
}

Import

CodeArtifact Domain Permissions Policies can be imported using the CodeArtifact Domain ARN, e.g.,

$ pulumi import aws:codeartifact/domainPermissions:DomainPermissions example arn:aws:codeartifact:us-west-2:012345678912:domain/tf-acc-test-1928056699409417367

Constructors

Link copied to clipboard
constructor(domain: Output<String>? = null, domainOwner: Output<String>? = null, policyDocument: Output<String>? = null, policyRevision: Output<String>? = null)

Properties

Link copied to clipboard
val domain: Output<String>? = null

The name of the domain on which to set the resource policy.

Link copied to clipboard
val domainOwner: Output<String>? = null

The account number of the AWS account that owns the domain.

Link copied to clipboard
val policyDocument: Output<String>? = null

A JSON policy string to be set as the access control resource policy on the provided domain.

Link copied to clipboard
val policyRevision: Output<String>? = null

The current revision of the resource policy to be set. This revision is used for optimistic locking, which prevents others from overwriting your changes to the domain's resource policy.

Functions

Link copied to clipboard
open override fun toJava(): DomainPermissionsArgs