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

software.amazon.awssdk.services.ecr.waiters.EcrWaiter Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Registry holds the client classes that are used for communicating with the Amazon EC2 Container Registry Service

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.ecr.waiters;

import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.core.waiters.WaiterOverrideConfiguration;
import software.amazon.awssdk.core.waiters.WaiterResponse;
import software.amazon.awssdk.services.ecr.EcrClient;
import software.amazon.awssdk.services.ecr.model.DescribeImageScanFindingsRequest;
import software.amazon.awssdk.services.ecr.model.DescribeImageScanFindingsResponse;
import software.amazon.awssdk.services.ecr.model.GetLifecyclePolicyPreviewRequest;
import software.amazon.awssdk.services.ecr.model.GetLifecyclePolicyPreviewResponse;
import software.amazon.awssdk.utils.SdkAutoCloseable;

/**
 * Waiter utility class that polls a resource until a desired state is reached or until it is determined that the
 * resource will never enter into the desired state. This can be created using the static {@link #builder()} method
 */
@Generated("software.amazon.awssdk:codegen")
@SdkPublicApi
public interface EcrWaiter extends SdkAutoCloseable {
    /**
     * Polls {@link EcrClient#describeImageScanFindings} API until the desired condition {@code ImageScanComplete} is
     * met, or until it is determined that the resource will never enter into the desired state
     *
     * @param describeImageScanFindingsRequest
     *        the request to be used for polling
     * @return WaiterResponse containing either a response or an exception that has matched with the waiter success
     *         condition
     */
    default WaiterResponse waitUntilImageScanComplete(
            DescribeImageScanFindingsRequest describeImageScanFindingsRequest) {
        throw new UnsupportedOperationException();
    }

    /**
     * Polls {@link EcrClient#describeImageScanFindings} API until the desired condition {@code ImageScanComplete} is
     * met, or until it is determined that the resource will never enter into the desired state.
     * 

* This is a convenience method to create an instance of the request builder without the need to create one manually * using {@link DescribeImageScanFindingsRequest#builder()} * * @param describeImageScanFindingsRequest * The consumer that will configure the request to be used for polling * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilImageScanComplete( Consumer describeImageScanFindingsRequest) { return waitUntilImageScanComplete(DescribeImageScanFindingsRequest.builder() .applyMutation(describeImageScanFindingsRequest).build()); } /** * Polls {@link EcrClient#describeImageScanFindings} API until the desired condition {@code ImageScanComplete} is * met, or until it is determined that the resource will never enter into the desired state * * @param describeImageScanFindingsRequest * The request to be used for polling * @param overrideConfig * Per request override configuration for waiters * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilImageScanComplete( DescribeImageScanFindingsRequest describeImageScanFindingsRequest, WaiterOverrideConfiguration overrideConfig) { throw new UnsupportedOperationException(); } /** * Polls {@link EcrClient#describeImageScanFindings} API until the desired condition {@code ImageScanComplete} is * met, or until it is determined that the resource will never enter into the desired state. *

* This is a convenience method to create an instance of the request builder and instance of the override config * builder * * @param describeImageScanFindingsRequest * The consumer that will configure the request to be used for polling * @param overrideConfig * The consumer that will configure the per request override configuration for waiters * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilImageScanComplete( Consumer describeImageScanFindingsRequest, Consumer overrideConfig) { return waitUntilImageScanComplete( DescribeImageScanFindingsRequest.builder().applyMutation(describeImageScanFindingsRequest).build(), WaiterOverrideConfiguration.builder().applyMutation(overrideConfig).build()); } /** * Polls {@link EcrClient#getLifecyclePolicyPreview} API until the desired condition * {@code LifecyclePolicyPreviewComplete} is met, or until it is determined that the resource will never enter into * the desired state * * @param getLifecyclePolicyPreviewRequest * the request to be used for polling * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilLifecyclePolicyPreviewComplete( GetLifecyclePolicyPreviewRequest getLifecyclePolicyPreviewRequest) { throw new UnsupportedOperationException(); } /** * Polls {@link EcrClient#getLifecyclePolicyPreview} API until the desired condition * {@code LifecyclePolicyPreviewComplete} is met, or until it is determined that the resource will never enter into * the desired state. *

* This is a convenience method to create an instance of the request builder without the need to create one manually * using {@link GetLifecyclePolicyPreviewRequest#builder()} * * @param getLifecyclePolicyPreviewRequest * The consumer that will configure the request to be used for polling * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilLifecyclePolicyPreviewComplete( Consumer getLifecyclePolicyPreviewRequest) { return waitUntilLifecyclePolicyPreviewComplete(GetLifecyclePolicyPreviewRequest.builder() .applyMutation(getLifecyclePolicyPreviewRequest).build()); } /** * Polls {@link EcrClient#getLifecyclePolicyPreview} API until the desired condition * {@code LifecyclePolicyPreviewComplete} is met, or until it is determined that the resource will never enter into * the desired state * * @param getLifecyclePolicyPreviewRequest * The request to be used for polling * @param overrideConfig * Per request override configuration for waiters * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilLifecyclePolicyPreviewComplete( GetLifecyclePolicyPreviewRequest getLifecyclePolicyPreviewRequest, WaiterOverrideConfiguration overrideConfig) { throw new UnsupportedOperationException(); } /** * Polls {@link EcrClient#getLifecyclePolicyPreview} API until the desired condition * {@code LifecyclePolicyPreviewComplete} is met, or until it is determined that the resource will never enter into * the desired state. *

* This is a convenience method to create an instance of the request builder and instance of the override config * builder * * @param getLifecyclePolicyPreviewRequest * The consumer that will configure the request to be used for polling * @param overrideConfig * The consumer that will configure the per request override configuration for waiters * @return WaiterResponse containing either a response or an exception that has matched with the waiter success * condition */ default WaiterResponse waitUntilLifecyclePolicyPreviewComplete( Consumer getLifecyclePolicyPreviewRequest, Consumer overrideConfig) { return waitUntilLifecyclePolicyPreviewComplete( GetLifecyclePolicyPreviewRequest.builder().applyMutation(getLifecyclePolicyPreviewRequest).build(), WaiterOverrideConfiguration.builder().applyMutation(overrideConfig).build()); } /** * Create a builder that can be used to configure and create a {@link EcrWaiter}. * * @return a builder */ static Builder builder() { return DefaultEcrWaiter.builder(); } /** * Create an instance of {@link EcrWaiter} with the default configuration. *

* A default {@link EcrClient} will be created to poll resources. It is recommended to share a single instance of * the waiter created via this method. If it is not desirable to share a waiter instance, invoke {@link #close()} to * release the resources once the waiter is not needed. * * @return an instance of {@link EcrWaiter} */ static EcrWaiter create() { return DefaultEcrWaiter.builder().build(); } interface Builder { /** * Defines overrides to the default SDK waiter configuration that should be used for waiters created from this * builder * * @param overrideConfiguration * the override configuration to set * @return a reference to this object so that method calls can be chained together. */ Builder overrideConfiguration(WaiterOverrideConfiguration overrideConfiguration); /** * This is a convenient method to pass the override configuration without the need to create an instance * manually via {@link WaiterOverrideConfiguration#builder()} * * @param overrideConfiguration * The consumer that will configure the overrideConfiguration * @return a reference to this object so that method calls can be chained together. * @see #overrideConfiguration(WaiterOverrideConfiguration) */ default Builder overrideConfiguration(Consumer overrideConfiguration) { WaiterOverrideConfiguration.Builder builder = WaiterOverrideConfiguration.builder(); overrideConfiguration.accept(builder); return overrideConfiguration(builder.build()); } /** * Sets a custom {@link EcrClient} that will be used to poll the resource *

* This SDK client must be closed by the caller when it is ready to be disposed. The SDK will not close the * client when the waiter is closed * * @param client * the client to send the request * @return a reference to this object so that method calls can be chained together. */ Builder client(EcrClient client); /** * Builds an instance of {@link EcrWaiter} based on the configurations supplied to this builder * * @return An initialized {@link EcrWaiter} */ EcrWaiter build(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy