All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.awsconnector.outputs.AwsEcrImageDetailPropertiesResponse Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.awsconnector.outputs;

import com.pulumi.azurenative.awsconnector.outputs.ImageScanFindingsSummaryResponse;
import com.pulumi.azurenative.awsconnector.outputs.ImageScanStatusResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class AwsEcrImageDetailPropertiesResponse {
    /**
     * @return <p>The artifact media type of the image.</p>
     * 
     */
    private @Nullable String artifactMediaType;
    /**
     * @return <p>The <code>sha256</code> digest of the image manifest.</p>
     * 
     */
    private @Nullable String imageDigest;
    /**
     * @return <p>The media type of the image manifest.</p>
     * 
     */
    private @Nullable String imageManifestMediaType;
    /**
     * @return <p>The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository. </p>
     * 
     */
    private @Nullable String imagePushedAt;
    /**
     * @return <p>A summary of the last completed image scan.</p>
     * 
     */
    private @Nullable ImageScanFindingsSummaryResponse imageScanFindingsSummary;
    /**
     * @return <p>The current state of the scan.</p>
     * 
     */
    private @Nullable ImageScanStatusResponse imageScanStatus;
    /**
     * @return <p>The size, in bytes, of the image in the repository.</p> <p>If the image is a manifest list, this will be the max size of all manifests in the list.</p> <note> <p>Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the <code>docker images</code> command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by <a>DescribeImages</a>.</p> </note>
     * 
     */
    private @Nullable Double imageSizeInBytes;
    /**
     * @return <p>The list of tags associated with this image.</p>
     * 
     */
    private @Nullable List imageTags;
    /**
     * @return <p>The date and time, expressed in standard JavaScript date format, when Amazon ECR recorded the last image pull.</p> <note> <p>Amazon ECR refreshes the last image pull timestamp at least once every 24 hours. For example, if you pull an image once a day then the <code>lastRecordedPullTime</code> timestamp will indicate the exact time that the image was last pulled. However, if you pull an image once an hour, because Amazon ECR refreshes the <code>lastRecordedPullTime</code> timestamp at least once every 24 hours, the result may not be the exact time that the image was last pulled.</p> </note>
     * 
     */
    private @Nullable String lastRecordedPullTime;
    /**
     * @return <p>The Amazon Web Services account ID associated with the registry to which this image belongs.</p>
     * 
     */
    private @Nullable String registryId;
    /**
     * @return <p>The name of the repository to which this image belongs.</p>
     * 
     */
    private @Nullable String repositoryName;

    private AwsEcrImageDetailPropertiesResponse() {}
    /**
     * @return <p>The artifact media type of the image.</p>
     * 
     */
    public Optional artifactMediaType() {
        return Optional.ofNullable(this.artifactMediaType);
    }
    /**
     * @return <p>The <code>sha256</code> digest of the image manifest.</p>
     * 
     */
    public Optional imageDigest() {
        return Optional.ofNullable(this.imageDigest);
    }
    /**
     * @return <p>The media type of the image manifest.</p>
     * 
     */
    public Optional imageManifestMediaType() {
        return Optional.ofNullable(this.imageManifestMediaType);
    }
    /**
     * @return <p>The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository. </p>
     * 
     */
    public Optional imagePushedAt() {
        return Optional.ofNullable(this.imagePushedAt);
    }
    /**
     * @return <p>A summary of the last completed image scan.</p>
     * 
     */
    public Optional imageScanFindingsSummary() {
        return Optional.ofNullable(this.imageScanFindingsSummary);
    }
    /**
     * @return <p>The current state of the scan.</p>
     * 
     */
    public Optional imageScanStatus() {
        return Optional.ofNullable(this.imageScanStatus);
    }
    /**
     * @return <p>The size, in bytes, of the image in the repository.</p> <p>If the image is a manifest list, this will be the max size of all manifests in the list.</p> <note> <p>Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the <code>docker images</code> command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by <a>DescribeImages</a>.</p> </note>
     * 
     */
    public Optional imageSizeInBytes() {
        return Optional.ofNullable(this.imageSizeInBytes);
    }
    /**
     * @return <p>The list of tags associated with this image.</p>
     * 
     */
    public List imageTags() {
        return this.imageTags == null ? List.of() : this.imageTags;
    }
    /**
     * @return <p>The date and time, expressed in standard JavaScript date format, when Amazon ECR recorded the last image pull.</p> <note> <p>Amazon ECR refreshes the last image pull timestamp at least once every 24 hours. For example, if you pull an image once a day then the <code>lastRecordedPullTime</code> timestamp will indicate the exact time that the image was last pulled. However, if you pull an image once an hour, because Amazon ECR refreshes the <code>lastRecordedPullTime</code> timestamp at least once every 24 hours, the result may not be the exact time that the image was last pulled.</p> </note>
     * 
     */
    public Optional lastRecordedPullTime() {
        return Optional.ofNullable(this.lastRecordedPullTime);
    }
    /**
     * @return <p>The Amazon Web Services account ID associated with the registry to which this image belongs.</p>
     * 
     */
    public Optional registryId() {
        return Optional.ofNullable(this.registryId);
    }
    /**
     * @return <p>The name of the repository to which this image belongs.</p>
     * 
     */
    public Optional repositoryName() {
        return Optional.ofNullable(this.repositoryName);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(AwsEcrImageDetailPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String artifactMediaType;
        private @Nullable String imageDigest;
        private @Nullable String imageManifestMediaType;
        private @Nullable String imagePushedAt;
        private @Nullable ImageScanFindingsSummaryResponse imageScanFindingsSummary;
        private @Nullable ImageScanStatusResponse imageScanStatus;
        private @Nullable Double imageSizeInBytes;
        private @Nullable List imageTags;
        private @Nullable String lastRecordedPullTime;
        private @Nullable String registryId;
        private @Nullable String repositoryName;
        public Builder() {}
        public Builder(AwsEcrImageDetailPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.artifactMediaType = defaults.artifactMediaType;
    	      this.imageDigest = defaults.imageDigest;
    	      this.imageManifestMediaType = defaults.imageManifestMediaType;
    	      this.imagePushedAt = defaults.imagePushedAt;
    	      this.imageScanFindingsSummary = defaults.imageScanFindingsSummary;
    	      this.imageScanStatus = defaults.imageScanStatus;
    	      this.imageSizeInBytes = defaults.imageSizeInBytes;
    	      this.imageTags = defaults.imageTags;
    	      this.lastRecordedPullTime = defaults.lastRecordedPullTime;
    	      this.registryId = defaults.registryId;
    	      this.repositoryName = defaults.repositoryName;
        }

        @CustomType.Setter
        public Builder artifactMediaType(@Nullable String artifactMediaType) {

            this.artifactMediaType = artifactMediaType;
            return this;
        }
        @CustomType.Setter
        public Builder imageDigest(@Nullable String imageDigest) {

            this.imageDigest = imageDigest;
            return this;
        }
        @CustomType.Setter
        public Builder imageManifestMediaType(@Nullable String imageManifestMediaType) {

            this.imageManifestMediaType = imageManifestMediaType;
            return this;
        }
        @CustomType.Setter
        public Builder imagePushedAt(@Nullable String imagePushedAt) {

            this.imagePushedAt = imagePushedAt;
            return this;
        }
        @CustomType.Setter
        public Builder imageScanFindingsSummary(@Nullable ImageScanFindingsSummaryResponse imageScanFindingsSummary) {

            this.imageScanFindingsSummary = imageScanFindingsSummary;
            return this;
        }
        @CustomType.Setter
        public Builder imageScanStatus(@Nullable ImageScanStatusResponse imageScanStatus) {

            this.imageScanStatus = imageScanStatus;
            return this;
        }
        @CustomType.Setter
        public Builder imageSizeInBytes(@Nullable Double imageSizeInBytes) {

            this.imageSizeInBytes = imageSizeInBytes;
            return this;
        }
        @CustomType.Setter
        public Builder imageTags(@Nullable List imageTags) {

            this.imageTags = imageTags;
            return this;
        }
        public Builder imageTags(String... imageTags) {
            return imageTags(List.of(imageTags));
        }
        @CustomType.Setter
        public Builder lastRecordedPullTime(@Nullable String lastRecordedPullTime) {

            this.lastRecordedPullTime = lastRecordedPullTime;
            return this;
        }
        @CustomType.Setter
        public Builder registryId(@Nullable String registryId) {

            this.registryId = registryId;
            return this;
        }
        @CustomType.Setter
        public Builder repositoryName(@Nullable String repositoryName) {

            this.repositoryName = repositoryName;
            return this;
        }
        public AwsEcrImageDetailPropertiesResponse build() {
            final var _resultValue = new AwsEcrImageDetailPropertiesResponse();
            _resultValue.artifactMediaType = artifactMediaType;
            _resultValue.imageDigest = imageDigest;
            _resultValue.imageManifestMediaType = imageManifestMediaType;
            _resultValue.imagePushedAt = imagePushedAt;
            _resultValue.imageScanFindingsSummary = imageScanFindingsSummary;
            _resultValue.imageScanStatus = imageScanStatus;
            _resultValue.imageSizeInBytes = imageSizeInBytes;
            _resultValue.imageTags = imageTags;
            _resultValue.lastRecordedPullTime = lastRecordedPullTime;
            _resultValue.registryId = registryId;
            _resultValue.repositoryName = repositoryName;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy