namespace Amazon.Lambda.APIGatewayEvents { using System.Collections.Generic; /// /// An object representing an IAM policy. /// public class APIGatewayCustomAuthorizerPolicy { /// /// Gets or sets the IAM API version. /// #if NETCOREAPP_3_1 [System.Text.Json.Serialization.JsonPropertyName("Version")] #endif public string Version { get; set; } = "2012-10-17"; /// /// Gets or sets a list of IAM policy statements to apply. /// #if NETCOREAPP_3_1 [System.Text.Json.Serialization.JsonPropertyName("Statement")] #endif public List Statement { get; set; } = new List(); /// /// A class representing an IAM Policy Statement. /// public class IAMPolicyStatement { /// /// Gets or sets the effect the statement has. /// #if NETCOREAPP_3_1 [System.Text.Json.Serialization.JsonPropertyName("Effect")] #endif public string Effect { get; set; } = "Allow"; /// /// Gets or sets the action/s the statement has. /// #if NETCOREAPP_3_1 [System.Text.Json.Serialization.JsonPropertyName("Action")] #endif public HashSet Action { get; set; } /// /// Gets or sets the resources the statement applies to. /// #if NETCOREAPP_3_1 [System.Text.Json.Serialization.JsonPropertyName("Resource")] #endif public HashSet Resource { get; set; } } } }