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

software.amazon.awssdk.services.sagemaker.model.IamPolicyConstraints Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon SageMaker module holds the client classes that are used for communicating with Amazon SageMaker Service

There is a newer version: 2.28.4
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.sagemaker.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Use this parameter to specify a supported global condition key that is added to the IAM policy. *

*/ @Generated("software.amazon.awssdk:codegen") public final class IamPolicyConstraints implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField SOURCE_IP_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("SourceIp").getter(getter(IamPolicyConstraints::sourceIpAsString)).setter(setter(Builder::sourceIp)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SourceIp").build()).build(); private static final SdkField VPC_SOURCE_IP_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("VpcSourceIp").getter(getter(IamPolicyConstraints::vpcSourceIpAsString)) .setter(setter(Builder::vpcSourceIp)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VpcSourceIp").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(SOURCE_IP_FIELD, VPC_SOURCE_IP_FIELD)); private static final long serialVersionUID = 1L; private final String sourceIp; private final String vpcSourceIp; private IamPolicyConstraints(BuilderImpl builder) { this.sourceIp = builder.sourceIp; this.vpcSourceIp = builder.vpcSourceIp; } /** *

* When SourceIp is Enabled the worker's IP address when a task is rendered in the worker * portal is added to the IAM policy as a Condition used to generate the Amazon S3 presigned URL. This * IP address is checked by Amazon S3 and must match in order for the Amazon S3 resource to be rendered in the * worker portal. *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #sourceIp} will * return {@link EnabledOrDisabled#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #sourceIpAsString}. *

* * @return When SourceIp is Enabled the worker's IP address when a task is rendered in the * worker portal is added to the IAM policy as a Condition used to generate the Amazon S3 * presigned URL. This IP address is checked by Amazon S3 and must match in order for the Amazon S3 resource * to be rendered in the worker portal. * @see EnabledOrDisabled */ public final EnabledOrDisabled sourceIp() { return EnabledOrDisabled.fromValue(sourceIp); } /** *

* When SourceIp is Enabled the worker's IP address when a task is rendered in the worker * portal is added to the IAM policy as a Condition used to generate the Amazon S3 presigned URL. This * IP address is checked by Amazon S3 and must match in order for the Amazon S3 resource to be rendered in the * worker portal. *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #sourceIp} will * return {@link EnabledOrDisabled#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #sourceIpAsString}. *

* * @return When SourceIp is Enabled the worker's IP address when a task is rendered in the * worker portal is added to the IAM policy as a Condition used to generate the Amazon S3 * presigned URL. This IP address is checked by Amazon S3 and must match in order for the Amazon S3 resource * to be rendered in the worker portal. * @see EnabledOrDisabled */ public final String sourceIpAsString() { return sourceIp; } /** *

* When VpcSourceIp is Enabled the worker's IP address when a task is rendered in private * worker portal inside the VPC is added to the IAM policy as a Condition used to generate the Amazon * S3 presigned URL. To render the task successfully Amazon S3 checks that the presigned URL is being accessed over * an Amazon S3 VPC Endpoint, and that the worker's IP address matches the IP address in the IAM policy. To learn * more about configuring private worker portal, see Use Amazon VPC mode from a * private worker portal. *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #vpcSourceIp} will * return {@link EnabledOrDisabled#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #vpcSourceIpAsString}. *

* * @return When VpcSourceIp is Enabled the worker's IP address when a task is rendered in * private worker portal inside the VPC is added to the IAM policy as a Condition used to * generate the Amazon S3 presigned URL. To render the task successfully Amazon S3 checks that the presigned * URL is being accessed over an Amazon S3 VPC Endpoint, and that the worker's IP address matches the IP * address in the IAM policy. To learn more about configuring private worker portal, see Use Amazon VPC mode * from a private worker portal. * @see EnabledOrDisabled */ public final EnabledOrDisabled vpcSourceIp() { return EnabledOrDisabled.fromValue(vpcSourceIp); } /** *

* When VpcSourceIp is Enabled the worker's IP address when a task is rendered in private * worker portal inside the VPC is added to the IAM policy as a Condition used to generate the Amazon * S3 presigned URL. To render the task successfully Amazon S3 checks that the presigned URL is being accessed over * an Amazon S3 VPC Endpoint, and that the worker's IP address matches the IP address in the IAM policy. To learn * more about configuring private worker portal, see Use Amazon VPC mode from a * private worker portal. *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #vpcSourceIp} will * return {@link EnabledOrDisabled#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #vpcSourceIpAsString}. *

* * @return When VpcSourceIp is Enabled the worker's IP address when a task is rendered in * private worker portal inside the VPC is added to the IAM policy as a Condition used to * generate the Amazon S3 presigned URL. To render the task successfully Amazon S3 checks that the presigned * URL is being accessed over an Amazon S3 VPC Endpoint, and that the worker's IP address matches the IP * address in the IAM policy. To learn more about configuring private worker portal, see Use Amazon VPC mode * from a private worker portal. * @see EnabledOrDisabled */ public final String vpcSourceIpAsString() { return vpcSourceIp; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(sourceIpAsString()); hashCode = 31 * hashCode + Objects.hashCode(vpcSourceIpAsString()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof IamPolicyConstraints)) { return false; } IamPolicyConstraints other = (IamPolicyConstraints) obj; return Objects.equals(sourceIpAsString(), other.sourceIpAsString()) && Objects.equals(vpcSourceIpAsString(), other.vpcSourceIpAsString()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("IamPolicyConstraints").add("SourceIp", sourceIpAsString()) .add("VpcSourceIp", vpcSourceIpAsString()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "SourceIp": return Optional.ofNullable(clazz.cast(sourceIpAsString())); case "VpcSourceIp": return Optional.ofNullable(clazz.cast(vpcSourceIpAsString())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((IamPolicyConstraints) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* When SourceIp is Enabled the worker's IP address when a task is rendered in the * worker portal is added to the IAM policy as a Condition used to generate the Amazon S3 presigned * URL. This IP address is checked by Amazon S3 and must match in order for the Amazon S3 resource to be * rendered in the worker portal. *

* * @param sourceIp * When SourceIp is Enabled the worker's IP address when a task is rendered in * the worker portal is added to the IAM policy as a Condition used to generate the Amazon * S3 presigned URL. This IP address is checked by Amazon S3 and must match in order for the Amazon S3 * resource to be rendered in the worker portal. * @see EnabledOrDisabled * @return Returns a reference to this object so that method calls can be chained together. * @see EnabledOrDisabled */ Builder sourceIp(String sourceIp); /** *

* When SourceIp is Enabled the worker's IP address when a task is rendered in the * worker portal is added to the IAM policy as a Condition used to generate the Amazon S3 presigned * URL. This IP address is checked by Amazon S3 and must match in order for the Amazon S3 resource to be * rendered in the worker portal. *

* * @param sourceIp * When SourceIp is Enabled the worker's IP address when a task is rendered in * the worker portal is added to the IAM policy as a Condition used to generate the Amazon * S3 presigned URL. This IP address is checked by Amazon S3 and must match in order for the Amazon S3 * resource to be rendered in the worker portal. * @see EnabledOrDisabled * @return Returns a reference to this object so that method calls can be chained together. * @see EnabledOrDisabled */ Builder sourceIp(EnabledOrDisabled sourceIp); /** *

* When VpcSourceIp is Enabled the worker's IP address when a task is rendered in * private worker portal inside the VPC is added to the IAM policy as a Condition used to generate * the Amazon S3 presigned URL. To render the task successfully Amazon S3 checks that the presigned URL is being * accessed over an Amazon S3 VPC Endpoint, and that the worker's IP address matches the IP address in the IAM * policy. To learn more about configuring private worker portal, see Use Amazon VPC mode * from a private worker portal. *

* * @param vpcSourceIp * When VpcSourceIp is Enabled the worker's IP address when a task is rendered * in private worker portal inside the VPC is added to the IAM policy as a Condition used to * generate the Amazon S3 presigned URL. To render the task successfully Amazon S3 checks that the * presigned URL is being accessed over an Amazon S3 VPC Endpoint, and that the worker's IP address * matches the IP address in the IAM policy. To learn more about configuring private worker portal, see * Use Amazon * VPC mode from a private worker portal. * @see EnabledOrDisabled * @return Returns a reference to this object so that method calls can be chained together. * @see EnabledOrDisabled */ Builder vpcSourceIp(String vpcSourceIp); /** *

* When VpcSourceIp is Enabled the worker's IP address when a task is rendered in * private worker portal inside the VPC is added to the IAM policy as a Condition used to generate * the Amazon S3 presigned URL. To render the task successfully Amazon S3 checks that the presigned URL is being * accessed over an Amazon S3 VPC Endpoint, and that the worker's IP address matches the IP address in the IAM * policy. To learn more about configuring private worker portal, see Use Amazon VPC mode * from a private worker portal. *

* * @param vpcSourceIp * When VpcSourceIp is Enabled the worker's IP address when a task is rendered * in private worker portal inside the VPC is added to the IAM policy as a Condition used to * generate the Amazon S3 presigned URL. To render the task successfully Amazon S3 checks that the * presigned URL is being accessed over an Amazon S3 VPC Endpoint, and that the worker's IP address * matches the IP address in the IAM policy. To learn more about configuring private worker portal, see * Use Amazon * VPC mode from a private worker portal. * @see EnabledOrDisabled * @return Returns a reference to this object so that method calls can be chained together. * @see EnabledOrDisabled */ Builder vpcSourceIp(EnabledOrDisabled vpcSourceIp); } static final class BuilderImpl implements Builder { private String sourceIp; private String vpcSourceIp; private BuilderImpl() { } private BuilderImpl(IamPolicyConstraints model) { sourceIp(model.sourceIp); vpcSourceIp(model.vpcSourceIp); } public final String getSourceIp() { return sourceIp; } public final void setSourceIp(String sourceIp) { this.sourceIp = sourceIp; } @Override public final Builder sourceIp(String sourceIp) { this.sourceIp = sourceIp; return this; } @Override public final Builder sourceIp(EnabledOrDisabled sourceIp) { this.sourceIp(sourceIp == null ? null : sourceIp.toString()); return this; } public final String getVpcSourceIp() { return vpcSourceIp; } public final void setVpcSourceIp(String vpcSourceIp) { this.vpcSourceIp = vpcSourceIp; } @Override public final Builder vpcSourceIp(String vpcSourceIp) { this.vpcSourceIp = vpcSourceIp; return this; } @Override public final Builder vpcSourceIp(EnabledOrDisabled vpcSourceIp) { this.vpcSourceIp(vpcSourceIp == null ? null : vpcSourceIp.toString()); return this; } @Override public IamPolicyConstraints build() { return new IamPolicyConstraints(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy