/*
* 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.
*/
/*
* Do not modify this file. This file is generated from the serverlessrepo-2017-09-08.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ServerlessApplicationRepository.Model
{
///
/// This is the response object from the CreateApplicationVersion operation.
///
public partial class CreateApplicationVersionResponse : AmazonWebServiceResponse
{
private string _applicationId;
private string _creationTime;
private List _parameterDefinitions = new List();
private List _requiredCapabilities = new List();
private bool? _resourcesSupported;
private string _semanticVersion;
private string _sourceCodeArchiveUrl;
private string _sourceCodeUrl;
private string _templateUrl;
///
/// Gets and sets the property ApplicationId.
///
/// The application Amazon Resource Name (ARN).
///
///
public string ApplicationId
{
get { return this._applicationId; }
set { this._applicationId = value; }
}
// Check to see if ApplicationId property is set
internal bool IsSetApplicationId()
{
return this._applicationId != null;
}
///
/// Gets and sets the property CreationTime.
///
/// The date and time this resource was created.
///
///
public string CreationTime
{
get { return this._creationTime; }
set { this._creationTime = value; }
}
// Check to see if CreationTime property is set
internal bool IsSetCreationTime()
{
return this._creationTime != null;
}
///
/// Gets and sets the property ParameterDefinitions.
///
/// An array of parameter types supported by the application.
///
///
public List ParameterDefinitions
{
get { return this._parameterDefinitions; }
set { this._parameterDefinitions = value; }
}
// Check to see if ParameterDefinitions property is set
internal bool IsSetParameterDefinitions()
{
return this._parameterDefinitions != null && this._parameterDefinitions.Count > 0;
}
///
/// Gets and sets the property RequiredCapabilities.
///
/// A list of values that you must specify before you can deploy certain applications.
/// Some applications might include resources that can affect permissions in your AWS
/// account, for example, by creating new AWS Identity and Access Management (IAM) users.
/// For those applications, you must explicitly acknowledge their capabilities by specifying
/// this parameter.
///
///
///
/// The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY,
/// and CAPABILITY_AUTO_EXPAND.
///
///
///
/// The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM:
/// AWS::IAM::Group,
/// AWS::IAM::InstanceProfile,
/// AWS::IAM::Policy,
/// and AWS::IAM::Role.
/// If the application contains IAM resources, you can specify either CAPABILITY_IAM or
/// CAPABILITY_NAMED_IAM. If the application contains IAM resources with custom names,
/// you must specify CAPABILITY_NAMED_IAM.
///
///
///
/// The following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission,
/// AWS::IAM:Policy,
/// AWS::ApplicationAutoScaling::ScalingPolicy,
/// AWS::S3::BucketPolicy,
/// AWS::SQS::QueuePolicy,
/// and AWS::SNS::TopicPolicy.
///
///
///
/// Applications that contain one or more nested applications require you to specify CAPABILITY_AUTO_EXPAND.
///
///
///
/// If your application template contains any of the above resources, we recommend that
/// you review all permissions associated with the application before deploying. If you
/// don't specify this parameter for an application that requires capabilities, the call
/// will fail.
///
///
public List RequiredCapabilities
{
get { return this._requiredCapabilities; }
set { this._requiredCapabilities = value; }
}
// Check to see if RequiredCapabilities property is set
internal bool IsSetRequiredCapabilities()
{
return this._requiredCapabilities != null && this._requiredCapabilities.Count > 0;
}
///
/// Gets and sets the property ResourcesSupported.
///
/// Whether all of the AWS resources contained in this application are supported in the
/// region in which it is being retrieved.
///
///
public bool ResourcesSupported
{
get { return this._resourcesSupported.GetValueOrDefault(); }
set { this._resourcesSupported = value; }
}
// Check to see if ResourcesSupported property is set
internal bool IsSetResourcesSupported()
{
return this._resourcesSupported.HasValue;
}
///
/// Gets and sets the property SemanticVersion.
///
/// The semantic version of the application:
///
///
///
/// https://semver.org/
///
///
public string SemanticVersion
{
get { return this._semanticVersion; }
set { this._semanticVersion = value; }
}
// Check to see if SemanticVersion property is set
internal bool IsSetSemanticVersion()
{
return this._semanticVersion != null;
}
///
/// Gets and sets the property SourceCodeArchiveUrl.
///
/// A link to the S3 object that contains the ZIP archive of the source code for this
/// version of your application.
///
///
///
/// Maximum size 50 MB
///
///
public string SourceCodeArchiveUrl
{
get { return this._sourceCodeArchiveUrl; }
set { this._sourceCodeArchiveUrl = value; }
}
// Check to see if SourceCodeArchiveUrl property is set
internal bool IsSetSourceCodeArchiveUrl()
{
return this._sourceCodeArchiveUrl != null;
}
///
/// Gets and sets the property SourceCodeUrl.
///
/// A link to a public repository for the source code of your application, for example
/// the URL of a specific GitHub commit.
///
///
public string SourceCodeUrl
{
get { return this._sourceCodeUrl; }
set { this._sourceCodeUrl = value; }
}
// Check to see if SourceCodeUrl property is set
internal bool IsSetSourceCodeUrl()
{
return this._sourceCodeUrl != null;
}
///
/// Gets and sets the property TemplateUrl.
///
/// A link to the packaged AWS SAM template of your application.
///
///
public string TemplateUrl
{
get { return this._templateUrl; }
set { this._templateUrl = value; }
}
// Check to see if TemplateUrl property is set
internal bool IsSetTemplateUrl()
{
return this._templateUrl != null;
}
}
}