/*
* 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 proton-2020-07-20.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.Proton.Model
{
///
/// Container for the parameters to the CreateRepository operation.
/// Create and register a link to a repository. Proton uses the link to repeatedly access
/// the repository, to either push to it (self-managed provisioning) or pull from it (template
/// sync). You can share a linked repository across multiple resources (like environments
/// using self-managed provisioning, or synced templates). When you create a repository
/// link, Proton creates a service-linked
/// role for you.
///
///
///
/// For more information, see Self-managed
/// provisioning, Template
/// bundles, and Template
/// sync configurations in the Proton User Guide.
///
///
public partial class CreateRepositoryRequest : AmazonProtonRequest
{
private string _connectionArn;
private string _encryptionKey;
private string _name;
private RepositoryProvider _provider;
private List _tags = new List();
///
/// Gets and sets the property ConnectionArn.
///
/// The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton
/// to your repository provider account. For more information, see Setting
/// up for Proton in the Proton User Guide.
///
///
[AWSProperty(Required=true, Min=1, Max=200)]
public string ConnectionArn
{
get { return this._connectionArn; }
set { this._connectionArn = value; }
}
// Check to see if ConnectionArn property is set
internal bool IsSetConnectionArn()
{
return this._connectionArn != null;
}
///
/// Gets and sets the property EncryptionKey.
///
/// The ARN of your customer Amazon Web Services Key Management Service (Amazon Web Services
/// KMS) key.
///
///
[AWSProperty(Min=1, Max=200)]
public string EncryptionKey
{
get { return this._encryptionKey; }
set { this._encryptionKey = value; }
}
// Check to see if EncryptionKey property is set
internal bool IsSetEncryptionKey()
{
return this._encryptionKey != null;
}
///
/// Gets and sets the property Name.
///
/// The repository name (for example, myrepos/myrepo
).
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
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 Provider.
///
/// The repository provider.
///
///
[AWSProperty(Required=true)]
public RepositoryProvider Provider
{
get { return this._provider; }
set { this._provider = value; }
}
// Check to see if Provider property is set
internal bool IsSetProvider()
{
return this._provider != null;
}
///
/// Gets and sets the property Tags.
///
/// An optional list of metadata items that you can associate with the Proton repository.
/// A tag is a key-value pair.
///
///
///
/// For more information, see Proton
/// resources and tagging in the Proton User Guide.
///
///
[AWSProperty(Min=0, Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}