/* * 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 synthetics-2017-10-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.Synthetics.Model { /// /// This structure contains all information about one canary in your account. /// public partial class Canary { private ArtifactConfigOutput _artifactConfig; private string _artifactS3Location; private CanaryCodeOutput _code; private string _engineArn; private string _executionRoleArn; private int? _failureRetentionPeriodInDays; private string _id; private string _name; private CanaryRunConfigOutput _runConfig; private string _runtimeVersion; private CanaryScheduleOutput _schedule; private CanaryStatus _status; private int? _successRetentionPeriodInDays; private Dictionary _tags = new Dictionary(); private CanaryTimeline _timeline; private VisualReferenceOutput _visualReference; private VpcConfigOutput _vpcConfig; /// /// Gets and sets the property ArtifactConfig. /// /// A structure that contains the configuration for canary artifacts, including the encryption-at-rest /// settings for artifacts that the canary uploads to Amazon S3. /// /// public ArtifactConfigOutput ArtifactConfig { get { return this._artifactConfig; } set { this._artifactConfig = value; } } // Check to see if ArtifactConfig property is set internal bool IsSetArtifactConfig() { return this._artifactConfig != null; } /// /// Gets and sets the property ArtifactS3Location. /// /// The location in Amazon S3 where Synthetics stores artifacts from the runs of this /// canary. Artifacts include the log file, screenshots, and HAR files. /// /// [AWSProperty(Min=1, Max=1024)] public string ArtifactS3Location { get { return this._artifactS3Location; } set { this._artifactS3Location = value; } } // Check to see if ArtifactS3Location property is set internal bool IsSetArtifactS3Location() { return this._artifactS3Location != null; } /// /// Gets and sets the property Code. /// public CanaryCodeOutput Code { get { return this._code; } set { this._code = value; } } // Check to see if Code property is set internal bool IsSetCode() { return this._code != null; } /// /// Gets and sets the property EngineArn. /// /// The ARN of the Lambda function that is used as your canary's engine. For more information /// about Lambda ARN format, see Resources /// and Conditions for Lambda Actions. /// /// [AWSProperty(Min=1, Max=2048)] public string EngineArn { get { return this._engineArn; } set { this._engineArn = value; } } // Check to see if EngineArn property is set internal bool IsSetEngineArn() { return this._engineArn != null; } /// /// Gets and sets the property ExecutionRoleArn. /// /// The ARN of the IAM role used to run the canary. This role must include lambda.amazonaws.com /// as a principal in the trust policy. /// /// [AWSProperty(Min=1, Max=2048)] public string ExecutionRoleArn { get { return this._executionRoleArn; } set { this._executionRoleArn = value; } } // Check to see if ExecutionRoleArn property is set internal bool IsSetExecutionRoleArn() { return this._executionRoleArn != null; } /// /// Gets and sets the property FailureRetentionPeriodInDays. /// /// The number of days to retain data about failed runs of this canary. /// /// [AWSProperty(Min=1, Max=1024)] public int FailureRetentionPeriodInDays { get { return this._failureRetentionPeriodInDays.GetValueOrDefault(); } set { this._failureRetentionPeriodInDays = value; } } // Check to see if FailureRetentionPeriodInDays property is set internal bool IsSetFailureRetentionPeriodInDays() { return this._failureRetentionPeriodInDays.HasValue; } /// /// Gets and sets the property Id. /// /// The unique ID of this canary. /// /// 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 Name. /// /// The name of the canary. /// /// [AWSProperty(Min=1, Max=21)] 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 RunConfig. /// public CanaryRunConfigOutput RunConfig { get { return this._runConfig; } set { this._runConfig = value; } } // Check to see if RunConfig property is set internal bool IsSetRunConfig() { return this._runConfig != null; } /// /// Gets and sets the property RuntimeVersion. /// /// Specifies the runtime version to use for the canary. For more information about runtime /// versions, see /// Canary Runtime Versions. /// /// [AWSProperty(Min=1, Max=1024)] public string RuntimeVersion { get { return this._runtimeVersion; } set { this._runtimeVersion = value; } } // Check to see if RuntimeVersion property is set internal bool IsSetRuntimeVersion() { return this._runtimeVersion != null; } /// /// Gets and sets the property Schedule. /// /// A structure that contains information about how often the canary is to run, and when /// these runs are to stop. /// /// public CanaryScheduleOutput Schedule { get { return this._schedule; } set { this._schedule = value; } } // Check to see if Schedule property is set internal bool IsSetSchedule() { return this._schedule != null; } /// /// Gets and sets the property Status. /// /// A structure that contains information about the canary's status. /// /// public CanaryStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property SuccessRetentionPeriodInDays. /// /// The number of days to retain data about successful runs of this canary. /// /// [AWSProperty(Min=1, Max=1024)] public int SuccessRetentionPeriodInDays { get { return this._successRetentionPeriodInDays.GetValueOrDefault(); } set { this._successRetentionPeriodInDays = value; } } // Check to see if SuccessRetentionPeriodInDays property is set internal bool IsSetSuccessRetentionPeriodInDays() { return this._successRetentionPeriodInDays.HasValue; } /// /// Gets and sets the property Tags. /// /// The list of key-value pairs that are associated with the canary. /// /// [AWSProperty(Min=1, Max=50)] 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 Timeline. /// /// A structure that contains information about when the canary was created, modified, /// and most recently run. /// /// public CanaryTimeline Timeline { get { return this._timeline; } set { this._timeline = value; } } // Check to see if Timeline property is set internal bool IsSetTimeline() { return this._timeline != null; } /// /// Gets and sets the property VisualReference. /// /// If this canary performs visual monitoring by comparing screenshots, this structure /// contains the ID of the canary run to use as the baseline for screenshots, and the /// coordinates of any parts of the screen to ignore during the visual monitoring comparison. /// /// public VisualReferenceOutput VisualReference { get { return this._visualReference; } set { this._visualReference = value; } } // Check to see if VisualReference property is set internal bool IsSetVisualReference() { return this._visualReference != null; } /// /// Gets and sets the property VpcConfig. /// public VpcConfigOutput VpcConfig { get { return this._vpcConfig; } set { this._vpcConfig = value; } } // Check to see if VpcConfig property is set internal bool IsSetVpcConfig() { return this._vpcConfig != null; } } }