/*
* 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 amplifyuibuilder-2021-08-11.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.AmplifyUIBuilder.Model
{
///
/// Contains the configuration settings for a user interface (UI) element for an Amplify
/// app. A component is configured as a primary, stand-alone UI element. Use ComponentChild
/// to configure an instance of a Component
. A ComponentChild
/// instance inherits the configuration of the main Component
.
///
public partial class Component
{
private string _appId;
private Dictionary _bindingProperties = new Dictionary();
private List _children = new List();
private Dictionary _collectionProperties = new Dictionary();
private string _componentType;
private DateTime? _createdAt;
private string _environmentName;
private Dictionary _events = new Dictionary();
private string _id;
private DateTime? _modifiedAt;
private string _name;
private Dictionary> _overrides = new Dictionary>();
private Dictionary _properties = new Dictionary();
private string _schemaVersion;
private string _sourceId;
private Dictionary _tags = new Dictionary();
private List _variants = new List();
///
/// Gets and sets the property AppId.
///
/// The unique ID of the Amplify app associated with the component.
///
///
[AWSProperty(Required=true)]
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 BindingProperties.
///
/// The information to connect a component's properties to data at runtime. You can't
/// specify tags
as a valid property for bindingProperties
.
///
///
[AWSProperty(Required=true)]
public Dictionary BindingProperties
{
get { return this._bindingProperties; }
set { this._bindingProperties = value; }
}
// Check to see if BindingProperties property is set
internal bool IsSetBindingProperties()
{
return this._bindingProperties != null && this._bindingProperties.Count > 0;
}
///
/// Gets and sets the property Children.
///
/// A list of the component's ComponentChild
instances.
///
///
public List Children
{
get { return this._children; }
set { this._children = value; }
}
// Check to see if Children property is set
internal bool IsSetChildren()
{
return this._children != null && this._children.Count > 0;
}
///
/// Gets and sets the property CollectionProperties.
///
/// The data binding configuration for the component's properties. Use this for a collection
/// component. You can't specify tags
as a valid property for collectionProperties
.
///
///
public Dictionary CollectionProperties
{
get { return this._collectionProperties; }
set { this._collectionProperties = value; }
}
// Check to see if CollectionProperties property is set
internal bool IsSetCollectionProperties()
{
return this._collectionProperties != null && this._collectionProperties.Count > 0;
}
///
/// Gets and sets the property ComponentType.
///
/// The type of the component. This can be an Amplify custom UI component or another custom
/// component.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string ComponentType
{
get { return this._componentType; }
set { this._componentType = value; }
}
// Check to see if ComponentType property is set
internal bool IsSetComponentType()
{
return this._componentType != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The time that the component was created.
///
///
[AWSProperty(Required=true)]
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property EnvironmentName.
///
/// The name of the backend environment that is a part of the Amplify app.
///
///
[AWSProperty(Required=true)]
public string EnvironmentName
{
get { return this._environmentName; }
set { this._environmentName = value; }
}
// Check to see if EnvironmentName property is set
internal bool IsSetEnvironmentName()
{
return this._environmentName != null;
}
///
/// Gets and sets the property Events.
///
/// Describes the events that can be raised on the component. Use for the workflow feature
/// in Amplify Studio that allows you to bind events and actions to components.
///
///
public Dictionary Events
{
get { return this._events; }
set { this._events = value; }
}
// Check to see if Events property is set
internal bool IsSetEvents()
{
return this._events != null && this._events.Count > 0;
}
///
/// Gets and sets the property Id.
///
/// The unique ID of the component.
///
///
[AWSProperty(Required=true)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property ModifiedAt.
///
/// The time that the component was modified.
///
///
public DateTime ModifiedAt
{
get { return this._modifiedAt.GetValueOrDefault(); }
set { this._modifiedAt = value; }
}
// Check to see if ModifiedAt property is set
internal bool IsSetModifiedAt()
{
return this._modifiedAt.HasValue;
}
///
/// Gets and sets the property Name.
///
/// The name of the component.
///
///
[AWSProperty(Required=true, 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 Overrides.
///
/// Describes the component's properties that can be overriden in a customized instance
/// of the component. You can't specify tags
as a valid property for overrides
.
///
///
[AWSProperty(Required=true)]
public Dictionary> Overrides
{
get { return this._overrides; }
set { this._overrides = value; }
}
// Check to see if Overrides property is set
internal bool IsSetOverrides()
{
return this._overrides != null && this._overrides.Count > 0;
}
///
/// Gets and sets the property Properties.
///
/// Describes the component's properties. You can't specify tags
as a valid
/// property for properties
.
///
///
[AWSProperty(Required=true)]
public Dictionary Properties
{
get { return this._properties; }
set { this._properties = value; }
}
// Check to see if Properties property is set
internal bool IsSetProperties()
{
return this._properties != null && this._properties.Count > 0;
}
///
/// Gets and sets the property SchemaVersion.
///
/// The schema version of the component when it was imported.
///
///
public string SchemaVersion
{
get { return this._schemaVersion; }
set { this._schemaVersion = value; }
}
// Check to see if SchemaVersion property is set
internal bool IsSetSchemaVersion()
{
return this._schemaVersion != null;
}
///
/// Gets and sets the property SourceId.
///
/// The unique ID of the component in its original source system, such as Figma.
///
///
public string SourceId
{
get { return this._sourceId; }
set { this._sourceId = value; }
}
// Check to see if SourceId property is set
internal bool IsSetSourceId()
{
return this._sourceId != null;
}
///
/// Gets and sets the property Tags.
///
/// One or more key-value pairs to use when tagging the component.
///
///
public Dictionary 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;
}
///
/// Gets and sets the property Variants.
///
/// A list of the component's variants. A variant is a unique style configuration of a
/// main component.
///
///
[AWSProperty(Required=true)]
public List Variants
{
get { return this._variants; }
set { this._variants = value; }
}
// Check to see if Variants property is set
internal bool IsSetVariants()
{
return this._variants != null && this._variants.Count > 0;
}
}
}