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
fun DomainPermissionsArgs(domain: Output<String>? = null, domainOwner: Output<String>? = null, policyDocument: Output<String>? = null, policyRevision: Output<String>? = null)

Functions

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

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.