/*
* 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 grafana-2020-08-18.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.ManagedGrafana.Model
{
///
/// The configuration settings for in-bound network access to your workspace.
///
///
///
/// When this is configured, only listed IP addresses and VPC endpoints will be able to
/// access your workspace. Standard Grafana authentication and authorization are still
/// required.
///
///
///
/// Access is granted to a caller that is in either the IP address list or the VPC endpoint
/// list - they do not need to be in both.
///
///
///
/// If this is not configured, or is removed, then all IP addresses and VPC endpoints
/// are allowed. Standard Grafana authentication and authorization are still required.
///
///
///
/// While both prefixListIds
and vpceIds
are required, you can
/// pass in an empty array of strings for either parameter if you do not want to allow
/// any of that type.
///
///
///
/// If both are passed as empty arrays, no traffic is allowed to the workspace, because
/// only explicitly allowed connections are accepted.
///
///
///
public partial class NetworkAccessConfiguration
{
private List _prefixListIds = new List();
private List _vpceIds = new List();
///
/// Gets and sets the property PrefixListIds.
///
/// An array of prefix list IDs. A prefix list is a list of CIDR ranges of IP addresses.
/// The IP addresses specified are allowed to access your workspace. If the list is not
/// included in the configuration (passed an empty array) then no IP addresses are allowed
/// to access the workspace. You create a prefix list using the Amazon VPC console.
///
///
///
/// Prefix list IDs have the format pl-1a2b3c4d
.
///
///
///
/// For more information about prefix lists, see Group
/// CIDR blocks using managed prefix listsin the Amazon Virtual Private Cloud User
/// Guide.
///
///
[AWSProperty(Required=true)]
public List PrefixListIds
{
get { return this._prefixListIds; }
set { this._prefixListIds = value; }
}
// Check to see if PrefixListIds property is set
internal bool IsSetPrefixListIds()
{
return this._prefixListIds != null && this._prefixListIds.Count > 0;
}
///
/// Gets and sets the property VpceIds.
///
/// An array of Amazon VPC endpoint IDs for the workspace. You can create VPC endpoints
/// to your Amazon Managed Grafana workspace for access from within a VPC. If a NetworkAccessConfiguration
/// is specified then only VPC endpoints specified here are allowed to access the workspace.
/// If you pass in an empty array of strings, then no VPCs are allowed to access the workspace.
///
///
///
/// VPC endpoint IDs have the format vpce-1a2b3c4d
.
///
///
///
/// For more information about creating an interface VPC endpoint, see Interface
/// VPC endpoints in the Amazon Managed Grafana User Guide.
///
///
///
/// The only VPC endpoints that can be specified here are interface VPC endpoints for
/// Grafana workspaces (using the com.amazonaws.[region].grafana-workspace
/// service endpoint). Other VPC endpoints are ignored.
///
///
///
[AWSProperty(Required=true)]
public List VpceIds
{
get { return this._vpceIds; }
set { this._vpceIds = value; }
}
// Check to see if VpceIds property is set
internal bool IsSetVpceIds()
{
return this._vpceIds != null && this._vpceIds.Count > 0;
}
}
}