class Azure::EventGrid::Mgmt::V2020_06_01::Models::Topic

EventGrid Topic

Attributes

endpoint[RW]

@return [String] Endpoint for the topic.

inbound_ip_rules[RW]

@return [Array<InboundIpRule>] This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.

input_schema[RW]

@return [InputSchema] This determines the format that Event Grid should expect for incoming events published to the topic. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventSchemaV1_0'. Default value: 'EventGridSchema' .

input_schema_mapping[RW]

@return [InputSchemaMapping] This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema.

metric_resource_id[RW]

@return [String] Metric resource id for the topic.

private_endpoint_connections[RW]

@return [Array<PrivateEndpointConnection>]

provisioning_state[RW]

@return [TopicProvisioningState] Provisioning state of the topic. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed'

public_network_access[RW]

@return [PublicNetworkAccess] This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring <seealso cref=“P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules” />. Possible values include: 'Enabled', 'Disabled'

Public Class Methods

mapper() click to toggle source

Mapper for Topic class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2020-06-01/generated/azure_mgmt_event_grid/models/topic.rb, line 58
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'Topic',
    type: {
      name: 'Composite',
      class_name: 'Topic',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        },
        location: {
          client_side_validation: true,
          required: true,
          serialized_name: 'location',
          type: {
            name: 'String'
          }
        },
        tags: {
          client_side_validation: true,
          required: false,
          serialized_name: 'tags',
          type: {
            name: 'Dictionary',
            value: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        private_endpoint_connections: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.privateEndpointConnections',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'PrivateEndpointConnectionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'PrivateEndpointConnection'
                }
            }
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.provisioningState',
          type: {
            name: 'String'
          }
        },
        endpoint: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.endpoint',
          type: {
            name: 'String'
          }
        },
        input_schema: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.inputSchema',
          default_value: 'EventGridSchema',
          type: {
            name: 'String'
          }
        },
        input_schema_mapping: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.inputSchemaMapping',
          type: {
            name: 'Composite',
            polymorphic_discriminator: 'inputSchemaMappingType',
            uber_parent: 'InputSchemaMapping',
            class_name: 'InputSchemaMapping'
          }
        },
        metric_resource_id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.metricResourceId',
          type: {
            name: 'String'
          }
        },
        public_network_access: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.publicNetworkAccess',
          type: {
            name: 'String'
          }
        },
        inbound_ip_rules: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.inboundIpRules',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'InboundIpRuleElementType',
                type: {
                  name: 'Composite',
                  class_name: 'InboundIpRule'
                }
            }
          }
        }
      }
    }
  }
end