/*
* 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 securitylake-2018-05-10.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.SecurityLake.Model
{
///
/// Provides details about the Amazon Security Lake account subscription. Subscribers
/// are notified of new objects for a source as the data is written to your Amazon S3
/// bucket for Security Lake.
///
public partial class SubscriberResource
{
private List _accessTypes = new List();
private DateTime? _createdAt;
private string _resourceShareArn;
private string _resourceShareName;
private string _roleArn;
private string _s3BucketArn;
private List _sources = new List();
private string _subscriberArn;
private string _subscriberDescription;
private string _subscriberEndpoint;
private string _subscriberId;
private AwsIdentity _subscriberIdentity;
private string _subscriberName;
private SubscriberStatus _subscriberStatus;
private DateTime? _updatedAt;
///
/// Gets and sets the property AccessTypes.
///
/// You can choose to notify subscribers of new objects with an Amazon Simple Queue Service
/// (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.
///
///
///
/// Subscribers can consume data by directly querying Lake Formation tables in your Amazon
/// S3 bucket through services like Amazon Athena. This subscription type is defined as
/// LAKEFORMATION
.
///
///
public List AccessTypes
{
get { return this._accessTypes; }
set { this._accessTypes = value; }
}
// Check to see if AccessTypes property is set
internal bool IsSetAccessTypes()
{
return this._accessTypes != null && this._accessTypes.Count > 0;
}
///
/// Gets and sets the property CreatedAt.
///
/// The date and time when the subscriber was created.
///
///
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 ResourceShareArn.
///
/// The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share.
/// Before accepting the RAM resource share invitation, you can view details related to
/// the RAM resource share.
///
///
///
/// This field is available only for Lake Formation subscribers created after March 8,
/// 2023.
///
///
public string ResourceShareArn
{
get { return this._resourceShareArn; }
set { this._resourceShareArn = value; }
}
// Check to see if ResourceShareArn property is set
internal bool IsSetResourceShareArn()
{
return this._resourceShareArn != null;
}
///
/// Gets and sets the property ResourceShareName.
///
/// The name of the resource share.
///
///
public string ResourceShareName
{
get { return this._resourceShareName; }
set { this._resourceShareName = value; }
}
// Check to see if ResourceShareName property is set
internal bool IsSetResourceShareName()
{
return this._resourceShareName != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) specifying the role of the subscriber.
///
///
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property S3BucketArn.
///
/// The ARN for the Amazon S3 bucket.
///
///
public string S3BucketArn
{
get { return this._s3BucketArn; }
set { this._s3BucketArn = value; }
}
// Check to see if S3BucketArn property is set
internal bool IsSetS3BucketArn()
{
return this._s3BucketArn != null;
}
///
/// Gets and sets the property Sources.
///
/// Amazon Security Lake supports log and event collection for natively supported Amazon
/// Web Services. For more information, see the Amazon
/// Security Lake User Guide.
///
///
[AWSProperty(Required=true)]
public List Sources
{
get { return this._sources; }
set { this._sources = value; }
}
// Check to see if Sources property is set
internal bool IsSetSources()
{
return this._sources != null && this._sources.Count > 0;
}
///
/// Gets and sets the property SubscriberArn.
///
/// The subscriber ARN of the Amazon Security Lake subscriber account.
///
///
[AWSProperty(Required=true, Min=1, Max=1011)]
public string SubscriberArn
{
get { return this._subscriberArn; }
set { this._subscriberArn = value; }
}
// Check to see if SubscriberArn property is set
internal bool IsSetSubscriberArn()
{
return this._subscriberArn != null;
}
///
/// Gets and sets the property SubscriberDescription.
///
/// The subscriber descriptions for a subscriber account. The description for a subscriber
/// includes subscriberName
, accountID
, externalID
,
/// and subscriberId
.
///
///
public string SubscriberDescription
{
get { return this._subscriberDescription; }
set { this._subscriberDescription = value; }
}
// Check to see if SubscriberDescription property is set
internal bool IsSetSubscriberDescription()
{
return this._subscriberDescription != null;
}
///
/// Gets and sets the property SubscriberEndpoint.
///
/// The subscriber endpoint to which exception messages are posted.
///
///
public string SubscriberEndpoint
{
get { return this._subscriberEndpoint; }
set { this._subscriberEndpoint = value; }
}
// Check to see if SubscriberEndpoint property is set
internal bool IsSetSubscriberEndpoint()
{
return this._subscriberEndpoint != null;
}
///
/// Gets and sets the property SubscriberId.
///
/// The subscriber ID of the Amazon Security Lake subscriber account.
///
///
[AWSProperty(Required=true)]
public string SubscriberId
{
get { return this._subscriberId; }
set { this._subscriberId = value; }
}
// Check to see if SubscriberId property is set
internal bool IsSetSubscriberId()
{
return this._subscriberId != null;
}
///
/// Gets and sets the property SubscriberIdentity.
///
/// The AWS identity used to access your data.
///
///
[AWSProperty(Required=true)]
public AwsIdentity SubscriberIdentity
{
get { return this._subscriberIdentity; }
set { this._subscriberIdentity = value; }
}
// Check to see if SubscriberIdentity property is set
internal bool IsSetSubscriberIdentity()
{
return this._subscriberIdentity != null;
}
///
/// Gets and sets the property SubscriberName.
///
/// The name of your Amazon Security Lake subscriber account.
///
///
[AWSProperty(Required=true)]
public string SubscriberName
{
get { return this._subscriberName; }
set { this._subscriberName = value; }
}
// Check to see if SubscriberName property is set
internal bool IsSetSubscriberName()
{
return this._subscriberName != null;
}
///
/// Gets and sets the property SubscriberStatus.
///
/// The subscriber status of the Amazon Security Lake subscriber account.
///
///
public SubscriberStatus SubscriberStatus
{
get { return this._subscriberStatus; }
set { this._subscriberStatus = value; }
}
// Check to see if SubscriberStatus property is set
internal bool IsSetSubscriberStatus()
{
return this._subscriberStatus != null;
}
///
/// Gets and sets the property UpdatedAt.
///
/// The date and time when the subscriber was last updated.
///
///
public DateTime UpdatedAt
{
get { return this._updatedAt.GetValueOrDefault(); }
set { this._updatedAt = value; }
}
// Check to see if UpdatedAt property is set
internal bool IsSetUpdatedAt()
{
return this._updatedAt.HasValue;
}
}
}