Class: Google::Apis::ServicedirectoryV1::Endpoint

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/servicedirectory_v1/classes.rb,
lib/google/apis/servicedirectory_v1/representations.rb,
lib/google/apis/servicedirectory_v1/representations.rb

Overview

An individual endpoint that provides a service. The service must already exist to create an endpoint.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Endpoint

Returns a new instance of Endpoint.



162
163
164
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 162

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#addressString

Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like: * 8.8.8 * 8.8.8.8:53 * test:bad:address * [::1] * [::1]:8080 Limited to 45 characters. Corresponds to the JSON property address

Returns:

  • (String)


123
124
125
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 123

def address
  @address
end

#annotationsHash<String,String>

Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the metadata field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory. Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


140
141
142
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 140

def annotations
  @annotations
end

#nameString

Immutable. The resource name for the endpoint in the format projects/*/ locations/*/namespaces/*/services/*/endpoints/*. Corresponds to the JSON property name

Returns:

  • (String)


146
147
148
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 146

def name
  @name
end

#networkString

Immutable. The Google Compute Engine network (VPC) of the endpoint in the format projects//locations/global/networks/*. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, we also check to make sure that you have the servicedirectory. networks.attach permission on the project specified. Corresponds to the JSON property network

Returns:

  • (String)


155
156
157
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 155

def network
  @network
end

#portFixnum

Optional. Service Directory rejects values outside of [0, 65535]. Corresponds to the JSON property port

Returns:

  • (Fixnum)


160
161
162
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 160

def port
  @port
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



167
168
169
170
171
172
173
# File 'lib/google/apis/servicedirectory_v1/classes.rb', line 167

def update!(**args)
  @address = args[:address] if args.key?(:address)
  @annotations = args[:annotations] if args.key?(:annotations)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @port = args[:port] if args.key?(:port)
end