
software.amazon.awscdk.services.ecr.CfnRepository Maven / Gradle / Ivy
Show all versions of ecr Show documentation
package software.amazon.awscdk.services.ecr;
/**
* A CloudFormation `AWS::ECR::Repository`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html
*/
@javax.annotation.Generated(value = "jsii-pacmak/0.21.2 (build 4370756)", date = "2020-01-23T18:16:41.954Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.ecr.$Module.class, fqn = "@aws-cdk/aws-ecr.CfnRepository")
public class CfnRepository extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable {
protected CfnRepository(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnRepository(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.ecr.CfnRepository.class, "CFN_RESOURCE_TYPE_NAME", java.lang.String.class);
}
/**
* Create a new `AWS::ECR::Repository`.
*
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
* @param props - resource properties.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public CfnRepository(final software.amazon.awscdk.core.Construct scope, final java.lang.String id, final software.amazon.awscdk.services.ecr.CfnRepositoryProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props });
}
/**
* Create a new `AWS::ECR::Repository`.
*
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public CfnRepository(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required") });
}
/**
* Examines the CloudFormation resource and discloses attributes.
*
* EXPERIMENTAL
*
* @param inspector - tree inspector to collect and process attributes. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void inspect(final software.amazon.awscdk.core.TreeInspector inspector) {
this.jsiiCall("inspect", Void.class, new Object[] { java.util.Objects.requireNonNull(inspector, "inspector is required") });
}
/**
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
@Override
protected java.util.Map renderProperties(final java.util.Map props) {
return java.util.Collections.unmodifiableMap(this.jsiiCall("renderProperties", java.util.Map.class, new Object[] { java.util.Objects.requireNonNull(props, "props is required") }));
}
/**
* The CloudFormation resource type name for this resource class.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public final static java.lang.String CFN_RESOURCE_TYPE_NAME;
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public java.lang.String getAttrArn() {
return this.jsiiGet("attrArn", java.lang.String.class);
}
/**
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
protected java.util.Map getCfnProperties() {
return java.util.Collections.unmodifiableMap(this.jsiiGet("cfnProperties", java.util.Map.class));
}
/**
* `AWS::ECR::Repository.Tags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-tags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public software.amazon.awscdk.core.TagManager getTags() {
return this.jsiiGet("tags", software.amazon.awscdk.core.TagManager.class);
}
/**
* `AWS::ECR::Repository.RepositoryPolicyText`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositorypolicytext
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public java.lang.Object getRepositoryPolicyText() {
return this.jsiiGet("repositoryPolicyText", java.lang.Object.class);
}
/**
* `AWS::ECR::Repository.RepositoryPolicyText`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositorypolicytext
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public void setRepositoryPolicyText(final java.lang.Object value) {
this.jsiiSet("repositoryPolicyText", java.util.Objects.requireNonNull(value, "repositoryPolicyText is required"));
}
/**
* `AWS::ECR::Repository.LifecyclePolicy`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public java.lang.Object getLifecyclePolicy() {
return this.jsiiGet("lifecyclePolicy", java.lang.Object.class);
}
/**
* `AWS::ECR::Repository.LifecyclePolicy`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public void setLifecyclePolicy(final software.amazon.awscdk.services.ecr.CfnRepository.LifecyclePolicyProperty value) {
this.jsiiSet("lifecyclePolicy", value);
}
/**
* `AWS::ECR::Repository.LifecyclePolicy`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public void setLifecyclePolicy(final software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("lifecyclePolicy", value);
}
/**
* `AWS::ECR::Repository.RepositoryName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositoryname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public java.lang.String getRepositoryName() {
return this.jsiiGet("repositoryName", java.lang.String.class);
}
/**
* `AWS::ECR::Repository.RepositoryName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositoryname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public void setRepositoryName(final java.lang.String value) {
this.jsiiSet("repositoryName", value);
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.ecr.$Module.class, fqn = "@aws-cdk/aws-ecr.CfnRepository.LifecyclePolicyProperty")
@software.amazon.jsii.Jsii.Proxy(LifecyclePolicyProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static interface LifecyclePolicyProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnRepository.LifecyclePolicyProperty.LifecyclePolicyText`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-lifecyclepolicytext
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getLifecyclePolicyText() {
return null;
}
/**
* `CfnRepository.LifecyclePolicyProperty.RegistryId`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-registryid
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getRegistryId() {
return null;
}
/**
* @return a {@link Builder} of {@link LifecyclePolicyProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link LifecyclePolicyProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
private java.lang.String lifecyclePolicyText;
private java.lang.String registryId;
/**
* Sets the value of {@link LifecyclePolicyProperty#getLifecyclePolicyText}
* @param lifecyclePolicyText `CfnRepository.LifecyclePolicyProperty.LifecyclePolicyText`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder lifecyclePolicyText(java.lang.String lifecyclePolicyText) {
this.lifecyclePolicyText = lifecyclePolicyText;
return this;
}
/**
* Sets the value of {@link LifecyclePolicyProperty#getRegistryId}
* @param registryId `CfnRepository.LifecyclePolicyProperty.RegistryId`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder registryId(java.lang.String registryId) {
this.registryId = registryId;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link LifecyclePolicyProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public LifecyclePolicyProperty build() {
return new Jsii$Proxy(lifecyclePolicyText, registryId);
}
}
/**
* An implementation for {@link LifecyclePolicyProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements LifecyclePolicyProperty {
private final java.lang.String lifecyclePolicyText;
private final java.lang.String registryId;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.lifecyclePolicyText = this.jsiiGet("lifecyclePolicyText", java.lang.String.class);
this.registryId = this.jsiiGet("registryId", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.String lifecyclePolicyText, final java.lang.String registryId) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.lifecyclePolicyText = lifecyclePolicyText;
this.registryId = registryId;
}
@Override
public java.lang.String getLifecyclePolicyText() {
return this.lifecyclePolicyText;
}
@Override
public java.lang.String getRegistryId() {
return this.registryId;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getLifecyclePolicyText() != null) {
data.set("lifecyclePolicyText", om.valueToTree(this.getLifecyclePolicyText()));
}
if (this.getRegistryId() != null) {
data.set("registryId", om.valueToTree(this.getRegistryId()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-ecr.CfnRepository.LifecyclePolicyProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
LifecyclePolicyProperty.Jsii$Proxy that = (LifecyclePolicyProperty.Jsii$Proxy) o;
if (this.lifecyclePolicyText != null ? !this.lifecyclePolicyText.equals(that.lifecyclePolicyText) : that.lifecyclePolicyText != null) return false;
return this.registryId != null ? this.registryId.equals(that.registryId) : that.registryId == null;
}
@Override
public int hashCode() {
int result = this.lifecyclePolicyText != null ? this.lifecyclePolicyText.hashCode() : 0;
result = 31 * result + (this.registryId != null ? this.registryId.hashCode() : 0);
return result;
}
}
}
/**
* A fluent builder for {@link software.amazon.awscdk.services.ecr.CfnRepository}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static Builder create(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.amazon.awscdk.core.Construct scope;
private final java.lang.String id;
private software.amazon.awscdk.services.ecr.CfnRepositoryProps.Builder props;
private Builder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
}
/**
* `AWS::ECR::Repository.LifecyclePolicy`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy
* @param lifecyclePolicy `AWS::ECR::Repository.LifecyclePolicy`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder lifecyclePolicy(final software.amazon.awscdk.services.ecr.CfnRepository.LifecyclePolicyProperty lifecyclePolicy) {
this.props().lifecyclePolicy(lifecyclePolicy);
return this;
}
/**
* `AWS::ECR::Repository.LifecyclePolicy`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy
* @param lifecyclePolicy `AWS::ECR::Repository.LifecyclePolicy`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder lifecyclePolicy(final software.amazon.awscdk.core.IResolvable lifecyclePolicy) {
this.props().lifecyclePolicy(lifecyclePolicy);
return this;
}
/**
* `AWS::ECR::Repository.RepositoryName`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositoryname
* @param repositoryName `AWS::ECR::Repository.RepositoryName`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder repositoryName(final java.lang.String repositoryName) {
this.props().repositoryName(repositoryName);
return this;
}
/**
* `AWS::ECR::Repository.RepositoryPolicyText`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositorypolicytext
* @param repositoryPolicyText `AWS::ECR::Repository.RepositoryPolicyText`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder repositoryPolicyText(final java.lang.Object repositoryPolicyText) {
this.props().repositoryPolicyText(repositoryPolicyText);
return this;
}
/**
* `AWS::ECR::Repository.Tags`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-tags
* @param tags `AWS::ECR::Repository.Tags`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder tags(final java.util.List tags) {
this.props().tags(tags);
return this;
}
/**
* @returns a newly built instance of {@link software.amazon.awscdk.services.ecr.CfnRepository}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public software.amazon.awscdk.services.ecr.CfnRepository build() {
return new software.amazon.awscdk.services.ecr.CfnRepository(
this.scope,
this.id,
this.props != null ? this.props.build() : null
);
}
private software.amazon.awscdk.services.ecr.CfnRepositoryProps.Builder props() {
if (this.props == null) {
this.props = new software.amazon.awscdk.services.ecr.CfnRepositoryProps.Builder();
}
return this.props;
}
}
}