/* * Copyright 2018-2023 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 com.amazonaws.services.imagebuilder.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Defines the settings for a specific Region. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Distribution implements Serializable, Cloneable, StructuredPojo { /** ** The target Region. *
*/ private String region; /** ** The specific AMI settings; for example, launch permissions or AMI tags. *
*/ private AmiDistributionConfiguration amiDistributionConfiguration; /** ** Container distribution settings for encryption, licensing, and sharing in a specific Region. *
*/ private ContainerDistributionConfiguration containerDistributionConfiguration; /** ** The License Manager Configuration to associate with the AMI in the specified Region. *
*/ private java.util.List* A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. *
*/ private java.util.List* Configure export settings to deliver disk images created from your image build, using a file format that is * compatible with your VMs in that Region. *
*/ private S3ExportConfiguration s3ExportConfiguration; /** ** The Windows faster-launching configurations to use for AMI distribution. *
*/ private java.util.List* The target Region. *
* * @param region * The target Region. */ public void setRegion(String region) { this.region = region; } /** ** The target Region. *
* * @return The target Region. */ public String getRegion() { return this.region; } /** ** The target Region. *
* * @param region * The target Region. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withRegion(String region) { setRegion(region); return this; } /** ** The specific AMI settings; for example, launch permissions or AMI tags. *
* * @param amiDistributionConfiguration * The specific AMI settings; for example, launch permissions or AMI tags. */ public void setAmiDistributionConfiguration(AmiDistributionConfiguration amiDistributionConfiguration) { this.amiDistributionConfiguration = amiDistributionConfiguration; } /** ** The specific AMI settings; for example, launch permissions or AMI tags. *
* * @return The specific AMI settings; for example, launch permissions or AMI tags. */ public AmiDistributionConfiguration getAmiDistributionConfiguration() { return this.amiDistributionConfiguration; } /** ** The specific AMI settings; for example, launch permissions or AMI tags. *
* * @param amiDistributionConfiguration * The specific AMI settings; for example, launch permissions or AMI tags. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withAmiDistributionConfiguration(AmiDistributionConfiguration amiDistributionConfiguration) { setAmiDistributionConfiguration(amiDistributionConfiguration); return this; } /** ** Container distribution settings for encryption, licensing, and sharing in a specific Region. *
* * @param containerDistributionConfiguration * Container distribution settings for encryption, licensing, and sharing in a specific Region. */ public void setContainerDistributionConfiguration(ContainerDistributionConfiguration containerDistributionConfiguration) { this.containerDistributionConfiguration = containerDistributionConfiguration; } /** ** Container distribution settings for encryption, licensing, and sharing in a specific Region. *
* * @return Container distribution settings for encryption, licensing, and sharing in a specific Region. */ public ContainerDistributionConfiguration getContainerDistributionConfiguration() { return this.containerDistributionConfiguration; } /** ** Container distribution settings for encryption, licensing, and sharing in a specific Region. *
* * @param containerDistributionConfiguration * Container distribution settings for encryption, licensing, and sharing in a specific Region. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withContainerDistributionConfiguration(ContainerDistributionConfiguration containerDistributionConfiguration) { setContainerDistributionConfiguration(containerDistributionConfiguration); return this; } /** ** The License Manager Configuration to associate with the AMI in the specified Region. *
* * @return The License Manager Configuration to associate with the AMI in the specified Region. */ public java.util.List* The License Manager Configuration to associate with the AMI in the specified Region. *
* * @param licenseConfigurationArns * The License Manager Configuration to associate with the AMI in the specified Region. */ public void setLicenseConfigurationArns(java.util.Collection* The License Manager Configuration to associate with the AMI in the specified Region. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setLicenseConfigurationArns(java.util.Collection)} or * {@link #withLicenseConfigurationArns(java.util.Collection)} if you want to override the existing values. *
* * @param licenseConfigurationArns * The License Manager Configuration to associate with the AMI in the specified Region. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withLicenseConfigurationArns(String... licenseConfigurationArns) { if (this.licenseConfigurationArns == null) { setLicenseConfigurationArns(new java.util.ArrayList* The License Manager Configuration to associate with the AMI in the specified Region. *
* * @param licenseConfigurationArns * The License Manager Configuration to associate with the AMI in the specified Region. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withLicenseConfigurationArns(java.util.Collection* A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. *
* * @return A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. */ public java.util.List* A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. *
* * @param launchTemplateConfigurations * A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. */ public void setLaunchTemplateConfigurations(java.util.Collection* A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setLaunchTemplateConfigurations(java.util.Collection)} or * {@link #withLaunchTemplateConfigurations(java.util.Collection)} if you want to override the existing values. *
* * @param launchTemplateConfigurations * A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withLaunchTemplateConfigurations(LaunchTemplateConfiguration... launchTemplateConfigurations) { if (this.launchTemplateConfigurations == null) { setLaunchTemplateConfigurations(new java.util.ArrayList* A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. *
* * @param launchTemplateConfigurations * A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withLaunchTemplateConfigurations(java.util.Collection* Configure export settings to deliver disk images created from your image build, using a file format that is * compatible with your VMs in that Region. *
* * @param s3ExportConfiguration * Configure export settings to deliver disk images created from your image build, using a file format that * is compatible with your VMs in that Region. */ public void setS3ExportConfiguration(S3ExportConfiguration s3ExportConfiguration) { this.s3ExportConfiguration = s3ExportConfiguration; } /** ** Configure export settings to deliver disk images created from your image build, using a file format that is * compatible with your VMs in that Region. *
* * @return Configure export settings to deliver disk images created from your image build, using a file format that * is compatible with your VMs in that Region. */ public S3ExportConfiguration getS3ExportConfiguration() { return this.s3ExportConfiguration; } /** ** Configure export settings to deliver disk images created from your image build, using a file format that is * compatible with your VMs in that Region. *
* * @param s3ExportConfiguration * Configure export settings to deliver disk images created from your image build, using a file format that * is compatible with your VMs in that Region. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withS3ExportConfiguration(S3ExportConfiguration s3ExportConfiguration) { setS3ExportConfiguration(s3ExportConfiguration); return this; } /** ** The Windows faster-launching configurations to use for AMI distribution. *
* * @return The Windows faster-launching configurations to use for AMI distribution. */ public java.util.List* The Windows faster-launching configurations to use for AMI distribution. *
* * @param fastLaunchConfigurations * The Windows faster-launching configurations to use for AMI distribution. */ public void setFastLaunchConfigurations(java.util.Collection* The Windows faster-launching configurations to use for AMI distribution. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setFastLaunchConfigurations(java.util.Collection)} or * {@link #withFastLaunchConfigurations(java.util.Collection)} if you want to override the existing values. *
* * @param fastLaunchConfigurations * The Windows faster-launching configurations to use for AMI distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withFastLaunchConfigurations(FastLaunchConfiguration... fastLaunchConfigurations) { if (this.fastLaunchConfigurations == null) { setFastLaunchConfigurations(new java.util.ArrayList* The Windows faster-launching configurations to use for AMI distribution. *
* * @param fastLaunchConfigurations * The Windows faster-launching configurations to use for AMI distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public Distribution withFastLaunchConfigurations(java.util.Collection