/*
* 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 amplify-2017-07-25.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.Amplify.Model
{
///
/// Container for the parameters to the UpdateApp operation.
/// Updates an existing Amplify app.
///
public partial class UpdateAppRequest : AmazonAmplifyRequest
{
private string _accessToken;
private string _appId;
private AutoBranchCreationConfig _autoBranchCreationConfig;
private List _autoBranchCreationPatterns = new List();
private string _basicAuthCredentials;
private string _buildSpec;
private string _customHeaders;
private List _customRules = new List();
private string _description;
private bool? _enableAutoBranchCreation;
private bool? _enableBasicAuth;
private bool? _enableBranchAutoBuild;
private bool? _enableBranchAutoDeletion;
private Dictionary _environmentVariables = new Dictionary();
private string _iamServiceRoleArn;
private string _name;
private string _oauthToken;
private Platform _platform;
private string _repository;
///
/// Gets and sets the property AccessToken.
///
/// The personal access token for a GitHub repository for an Amplify app. The personal
/// access token is used to authorize access to a GitHub repository using the Amplify
/// GitHub App. The token is not stored.
///
///
///
/// Use accessToken
for GitHub repositories only. To authorize access to
/// a repository provider such as Bitbucket or CodeCommit, use oauthToken
.
///
///
///
/// You must specify either accessToken
or oauthToken
when you
/// update an app.
///
///
///
/// Existing Amplify apps deployed from a GitHub repository using OAuth continue to work
/// with CI/CD. However, we strongly recommend that you migrate these apps to use the
/// GitHub App. For more information, see Migrating
/// an existing OAuth app to the Amplify GitHub App in the Amplify User Guide
/// .
///
///
[AWSProperty(Sensitive=true, Min=1, Max=255)]
public string AccessToken
{
get { return this._accessToken; }
set { this._accessToken = value; }
}
// Check to see if AccessToken property is set
internal bool IsSetAccessToken()
{
return this._accessToken != null;
}
///
/// Gets and sets the property AppId.
///
/// The unique ID for an Amplify app.
///
///
[AWSProperty(Required=true, Min=1, Max=20)]
public string AppId
{
get { return this._appId; }
set { this._appId = value; }
}
// Check to see if AppId property is set
internal bool IsSetAppId()
{
return this._appId != null;
}
///
/// Gets and sets the property AutoBranchCreationConfig.
///
/// The automated branch creation configuration for an Amplify app.
///
///
public AutoBranchCreationConfig AutoBranchCreationConfig
{
get { return this._autoBranchCreationConfig; }
set { this._autoBranchCreationConfig = value; }
}
// Check to see if AutoBranchCreationConfig property is set
internal bool IsSetAutoBranchCreationConfig()
{
return this._autoBranchCreationConfig != null;
}
///
/// Gets and sets the property AutoBranchCreationPatterns.
///
/// Describes the automated branch creation glob patterns for an Amplify app.
///
///
public List AutoBranchCreationPatterns
{
get { return this._autoBranchCreationPatterns; }
set { this._autoBranchCreationPatterns = value; }
}
// Check to see if AutoBranchCreationPatterns property is set
internal bool IsSetAutoBranchCreationPatterns()
{
return this._autoBranchCreationPatterns != null && this._autoBranchCreationPatterns.Count > 0;
}
///
/// Gets and sets the property BasicAuthCredentials.
///
/// The basic authorization credentials for an Amplify app. You must base64-encode the
/// authorization credentials and provide them in the format user:password
.
///
///
[AWSProperty(Sensitive=true, Max=2000)]
public string BasicAuthCredentials
{
get { return this._basicAuthCredentials; }
set { this._basicAuthCredentials = value; }
}
// Check to see if BasicAuthCredentials property is set
internal bool IsSetBasicAuthCredentials()
{
return this._basicAuthCredentials != null;
}
///
/// Gets and sets the property BuildSpec.
///
/// The build specification (build spec) for an Amplify app.
///
///
[AWSProperty(Sensitive=true, Min=1, Max=25000)]
public string BuildSpec
{
get { return this._buildSpec; }
set { this._buildSpec = value; }
}
// Check to see if BuildSpec property is set
internal bool IsSetBuildSpec()
{
return this._buildSpec != null;
}
///
/// Gets and sets the property CustomHeaders.
///
/// The custom HTTP headers for an Amplify app.
///
///
[AWSProperty(Min=0, Max=25000)]
public string CustomHeaders
{
get { return this._customHeaders; }
set { this._customHeaders = value; }
}
// Check to see if CustomHeaders property is set
internal bool IsSetCustomHeaders()
{
return this._customHeaders != null;
}
///
/// Gets and sets the property CustomRules.
///
/// The custom redirect and rewrite rules for an Amplify app.
///
///
public List CustomRules
{
get { return this._customRules; }
set { this._customRules = value; }
}
// Check to see if CustomRules property is set
internal bool IsSetCustomRules()
{
return this._customRules != null && this._customRules.Count > 0;
}
///
/// Gets and sets the property Description.
///
/// The description for an Amplify app.
///
///
[AWSProperty(Max=1000)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property EnableAutoBranchCreation.
///
/// Enables automated branch creation for an Amplify app.
///
///
public bool EnableAutoBranchCreation
{
get { return this._enableAutoBranchCreation.GetValueOrDefault(); }
set { this._enableAutoBranchCreation = value; }
}
// Check to see if EnableAutoBranchCreation property is set
internal bool IsSetEnableAutoBranchCreation()
{
return this._enableAutoBranchCreation.HasValue;
}
///
/// Gets and sets the property EnableBasicAuth.
///
/// Enables basic authorization for an Amplify app.
///
///
public bool EnableBasicAuth
{
get { return this._enableBasicAuth.GetValueOrDefault(); }
set { this._enableBasicAuth = value; }
}
// Check to see if EnableBasicAuth property is set
internal bool IsSetEnableBasicAuth()
{
return this._enableBasicAuth.HasValue;
}
///
/// Gets and sets the property EnableBranchAutoBuild.
///
/// Enables branch auto-building for an Amplify app.
///
///
public bool EnableBranchAutoBuild
{
get { return this._enableBranchAutoBuild.GetValueOrDefault(); }
set { this._enableBranchAutoBuild = value; }
}
// Check to see if EnableBranchAutoBuild property is set
internal bool IsSetEnableBranchAutoBuild()
{
return this._enableBranchAutoBuild.HasValue;
}
///
/// Gets and sets the property EnableBranchAutoDeletion.
///
/// Automatically disconnects a branch in the Amplify Console when you delete a branch
/// from your Git repository.
///
///
public bool EnableBranchAutoDeletion
{
get { return this._enableBranchAutoDeletion.GetValueOrDefault(); }
set { this._enableBranchAutoDeletion = value; }
}
// Check to see if EnableBranchAutoDeletion property is set
internal bool IsSetEnableBranchAutoDeletion()
{
return this._enableBranchAutoDeletion.HasValue;
}
///
/// Gets and sets the property EnvironmentVariables.
///
/// The environment variables for an Amplify app.
///
///
public Dictionary EnvironmentVariables
{
get { return this._environmentVariables; }
set { this._environmentVariables = value; }
}
// Check to see if EnvironmentVariables property is set
internal bool IsSetEnvironmentVariables()
{
return this._environmentVariables != null && this._environmentVariables.Count > 0;
}
///
/// Gets and sets the property IamServiceRoleArn.
///
/// The AWS Identity and Access Management (IAM) service role for an Amplify app.
///
///
[AWSProperty(Min=0, Max=1000)]
public string IamServiceRoleArn
{
get { return this._iamServiceRoleArn; }
set { this._iamServiceRoleArn = value; }
}
// Check to see if IamServiceRoleArn property is set
internal bool IsSetIamServiceRoleArn()
{
return this._iamServiceRoleArn != null;
}
///
/// Gets and sets the property Name.
///
/// The name for an Amplify app.
///
///
[AWSProperty(Min=1, Max=255)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property OauthToken.
///
/// The OAuth token for a third-party source control system for an Amplify app. The OAuth
/// token is used to create a webhook and a read-only deploy key using SSH cloning. The
/// OAuth token is not stored.
///
///
///
/// Use oauthToken
for repository providers other than GitHub, such as Bitbucket
/// or CodeCommit.
///
///
///
/// To authorize access to GitHub as your repository provider, use accessToken
.
///
///
///
/// You must specify either oauthToken
or accessToken
when you
/// update an app.
///
///
///
/// Existing Amplify apps deployed from a GitHub repository using OAuth continue to work
/// with CI/CD. However, we strongly recommend that you migrate these apps to use the
/// GitHub App. For more information, see Migrating
/// an existing OAuth app to the Amplify GitHub App in the Amplify User Guide
/// .
///
///
[AWSProperty(Sensitive=true, Max=1000)]
public string OauthToken
{
get { return this._oauthToken; }
set { this._oauthToken = value; }
}
// Check to see if OauthToken property is set
internal bool IsSetOauthToken()
{
return this._oauthToken != null;
}
///
/// Gets and sets the property Platform.
///
/// The platform for the Amplify app. For a static app, set the platform type to WEB
.
/// For a dynamic server-side rendered (SSR) app, set the platform type to WEB_COMPUTE
.
/// For an app requiring Amplify Hosting's original SSR support only, set the platform
/// type to WEB_DYNAMIC
.
///
///
public Platform Platform
{
get { return this._platform; }
set { this._platform = value; }
}
// Check to see if Platform property is set
internal bool IsSetPlatform()
{
return this._platform != null;
}
///
/// Gets and sets the property Repository.
///
/// The name of the repository for an Amplify app
///
///
[AWSProperty(Max=1000)]
public string Repository
{
get { return this._repository; }
set { this._repository = value; }
}
// Check to see if Repository property is set
internal bool IsSetRepository()
{
return this._repository != null;
}
}
}