| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // source: google/cloud/iot/v1/resources.proto |
| |
| package iot // import "google.golang.org/genproto/googleapis/cloud/iot/v1" |
| |
| import proto "github.com/golang/protobuf/proto" |
| import fmt "fmt" |
| import math "math" |
| import timestamp "github.com/golang/protobuf/ptypes/timestamp" |
| import _ "google.golang.org/genproto/googleapis/api/annotations" |
| import status "google.golang.org/genproto/googleapis/rpc/status" |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ = proto.Marshal |
| var _ = fmt.Errorf |
| var _ = math.Inf |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the proto package it is being compiled against. |
| // A compilation error at this line likely means your copy of the |
| // proto package needs to be updated. |
| const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package |
| |
| // Indicates whether an MQTT connection is enabled or disabled. See the field |
| // description for details. |
| type MqttState int32 |
| |
| const ( |
| // No MQTT state specified. If not specified, MQTT will be enabled by default. |
| MqttState_MQTT_STATE_UNSPECIFIED MqttState = 0 |
| // Enables a MQTT connection. |
| MqttState_MQTT_ENABLED MqttState = 1 |
| // Disables a MQTT connection. |
| MqttState_MQTT_DISABLED MqttState = 2 |
| ) |
| |
| var MqttState_name = map[int32]string{ |
| 0: "MQTT_STATE_UNSPECIFIED", |
| 1: "MQTT_ENABLED", |
| 2: "MQTT_DISABLED", |
| } |
| var MqttState_value = map[string]int32{ |
| "MQTT_STATE_UNSPECIFIED": 0, |
| "MQTT_ENABLED": 1, |
| "MQTT_DISABLED": 2, |
| } |
| |
| func (x MqttState) String() string { |
| return proto.EnumName(MqttState_name, int32(x)) |
| } |
| func (MqttState) EnumDescriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{0} |
| } |
| |
| // Indicates whether DeviceService (HTTP) is enabled or disabled for the |
| // registry. See the field description for details. |
| type HttpState int32 |
| |
| const ( |
| // No HTTP state specified. If not specified, DeviceService will be |
| // enabled by default. |
| HttpState_HTTP_STATE_UNSPECIFIED HttpState = 0 |
| // Enables DeviceService (HTTP) service for the registry. |
| HttpState_HTTP_ENABLED HttpState = 1 |
| // Disables DeviceService (HTTP) service for the registry. |
| HttpState_HTTP_DISABLED HttpState = 2 |
| ) |
| |
| var HttpState_name = map[int32]string{ |
| 0: "HTTP_STATE_UNSPECIFIED", |
| 1: "HTTP_ENABLED", |
| 2: "HTTP_DISABLED", |
| } |
| var HttpState_value = map[string]int32{ |
| "HTTP_STATE_UNSPECIFIED": 0, |
| "HTTP_ENABLED": 1, |
| "HTTP_DISABLED": 2, |
| } |
| |
| func (x HttpState) String() string { |
| return proto.EnumName(HttpState_name, int32(x)) |
| } |
| func (HttpState) EnumDescriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{1} |
| } |
| |
| // The supported formats for the public key. |
| type PublicKeyCertificateFormat int32 |
| |
| const ( |
| // The format has not been specified. This is an invalid default value and |
| // must not be used. |
| PublicKeyCertificateFormat_UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT PublicKeyCertificateFormat = 0 |
| // An X.509v3 certificate ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)), |
| // encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and |
| // `-----END CERTIFICATE-----`. |
| PublicKeyCertificateFormat_X509_CERTIFICATE_PEM PublicKeyCertificateFormat = 1 |
| ) |
| |
| var PublicKeyCertificateFormat_name = map[int32]string{ |
| 0: "UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT", |
| 1: "X509_CERTIFICATE_PEM", |
| } |
| var PublicKeyCertificateFormat_value = map[string]int32{ |
| "UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT": 0, |
| "X509_CERTIFICATE_PEM": 1, |
| } |
| |
| func (x PublicKeyCertificateFormat) String() string { |
| return proto.EnumName(PublicKeyCertificateFormat_name, int32(x)) |
| } |
| func (PublicKeyCertificateFormat) EnumDescriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{2} |
| } |
| |
| // The supported formats for the public key. |
| type PublicKeyFormat int32 |
| |
| const ( |
| // The format has not been specified. This is an invalid default value and |
| // must not be used. |
| PublicKeyFormat_UNSPECIFIED_PUBLIC_KEY_FORMAT PublicKeyFormat = 0 |
| // An RSA public key encoded in base64, and wrapped by |
| // `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be |
| // used to verify `RS256` signatures in JWT tokens ([RFC7518]( |
| // https://www.ietf.org/rfc/rfc7518.txt)). |
| PublicKeyFormat_RSA_PEM PublicKeyFormat = 3 |
| // As RSA_PEM, but wrapped in an X.509v3 certificate ([RFC5280]( |
| // https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by |
| // `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`. |
| PublicKeyFormat_RSA_X509_PEM PublicKeyFormat = 1 |
| // Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in |
| // base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END |
| // PUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256` |
| // algorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is |
| // defined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` curve. |
| PublicKeyFormat_ES256_PEM PublicKeyFormat = 2 |
| // As ES256_PEM, but wrapped in an X.509v3 certificate ([RFC5280]( |
| // https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by |
| // `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`. |
| PublicKeyFormat_ES256_X509_PEM PublicKeyFormat = 4 |
| ) |
| |
| var PublicKeyFormat_name = map[int32]string{ |
| 0: "UNSPECIFIED_PUBLIC_KEY_FORMAT", |
| 3: "RSA_PEM", |
| 1: "RSA_X509_PEM", |
| 2: "ES256_PEM", |
| 4: "ES256_X509_PEM", |
| } |
| var PublicKeyFormat_value = map[string]int32{ |
| "UNSPECIFIED_PUBLIC_KEY_FORMAT": 0, |
| "RSA_PEM": 3, |
| "RSA_X509_PEM": 1, |
| "ES256_PEM": 2, |
| "ES256_X509_PEM": 4, |
| } |
| |
| func (x PublicKeyFormat) String() string { |
| return proto.EnumName(PublicKeyFormat_name, int32(x)) |
| } |
| func (PublicKeyFormat) EnumDescriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{3} |
| } |
| |
| // The device resource. |
| type Device struct { |
| // The user-defined device identifier. The device ID must be unique |
| // within a device registry. |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` |
| // The resource path name. For example, |
| // `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or |
| // `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. |
| // When `name` is populated as a response from the service, it always ends |
| // in the device numeric ID. |
| Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` |
| // [Output only] A server-defined unique numeric ID for the device. This is a |
| // more compact way to identify devices, and it is globally unique. |
| NumId uint64 `protobuf:"varint,3,opt,name=num_id,json=numId,proto3" json:"num_id,omitempty"` |
| // The credentials used to authenticate this device. To allow credential |
| // rotation without interruption, multiple device credentials can be bound to |
| // this device. No more than 3 credentials can be bound to a single device at |
| // a time. When new credentials are added to a device, they are verified |
| // against the registry credentials. For details, see the description of the |
| // `DeviceRegistry.credentials` field. |
| Credentials []*DeviceCredential `protobuf:"bytes,12,rep,name=credentials,proto3" json:"credentials,omitempty"` |
| // [Output only] The last time an MQTT `PINGREQ` was received. This field |
| // applies only to devices connecting through MQTT. MQTT clients usually only |
| // send `PINGREQ` messages if the connection is idle, and no other messages |
| // have been sent. Timestamps are periodically collected and written to |
| // storage; they may be stale by a few minutes. |
| LastHeartbeatTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=last_heartbeat_time,json=lastHeartbeatTime,proto3" json:"last_heartbeat_time,omitempty"` |
| // [Output only] The last time a telemetry event was received. Timestamps are |
| // periodically collected and written to storage; they may be stale by a few |
| // minutes. |
| LastEventTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_event_time,json=lastEventTime,proto3" json:"last_event_time,omitempty"` |
| // [Output only] The last time a state event was received. Timestamps are |
| // periodically collected and written to storage; they may be stale by a few |
| // minutes. |
| LastStateTime *timestamp.Timestamp `protobuf:"bytes,20,opt,name=last_state_time,json=lastStateTime,proto3" json:"last_state_time,omitempty"` |
| // [Output only] The last time a cloud-to-device config version acknowledgment |
| // was received from the device. This field is only for configurations |
| // sent through MQTT. |
| LastConfigAckTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=last_config_ack_time,json=lastConfigAckTime,proto3" json:"last_config_ack_time,omitempty"` |
| // [Output only] The last time a cloud-to-device config version was sent to |
| // the device. |
| LastConfigSendTime *timestamp.Timestamp `protobuf:"bytes,18,opt,name=last_config_send_time,json=lastConfigSendTime,proto3" json:"last_config_send_time,omitempty"` |
| // If a device is blocked, connections or requests from this device will fail. |
| // Can be used to temporarily prevent the device from connecting if, for |
| // example, the sensor is generating bad data and needs maintenance. |
| Blocked bool `protobuf:"varint,19,opt,name=blocked,proto3" json:"blocked,omitempty"` |
| // [Output only] The time the most recent error occurred, such as a failure to |
| // publish to Cloud Pub/Sub. This field is the timestamp of |
| // 'last_error_status'. |
| LastErrorTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=last_error_time,json=lastErrorTime,proto3" json:"last_error_time,omitempty"` |
| // [Output only] The error message of the most recent error, such as a failure |
| // to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this |
| // field. If no errors have occurred, this field has an empty message |
| // and the status code 0 == OK. Otherwise, this field is expected to have a |
| // status code other than OK. |
| LastErrorStatus *status.Status `protobuf:"bytes,11,opt,name=last_error_status,json=lastErrorStatus,proto3" json:"last_error_status,omitempty"` |
| // The most recent device configuration, which is eventually sent from |
| // Cloud IoT Core to the device. If not present on creation, the |
| // configuration will be initialized with an empty payload and version value |
| // of `1`. To update this field after creation, use the |
| // `DeviceManager.ModifyCloudToDeviceConfig` method. |
| Config *DeviceConfig `protobuf:"bytes,13,opt,name=config,proto3" json:"config,omitempty"` |
| // [Output only] The state most recently received from the device. If no state |
| // has been reported, this field is not present. |
| State *DeviceState `protobuf:"bytes,16,opt,name=state,proto3" json:"state,omitempty"` |
| // The metadata key-value pairs assigned to the device. This metadata is not |
| // interpreted or indexed by Cloud IoT Core. It can be used to add contextual |
| // information for the device. |
| // |
| // Keys must conform to the regular expression [a-zA-Z][a-zA-Z0-9-_.+~%]+ and |
| // be less than 128 bytes in length. |
| // |
| // Values are free-form strings. Each value must be less than or equal to 32 |
| // KB in size. |
| // |
| // The total size of all keys and values must be less than 256 KB, and the |
| // maximum number of key-value pairs is 500. |
| Metadata map[string]string `protobuf:"bytes,17,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *Device) Reset() { *m = Device{} } |
| func (m *Device) String() string { return proto.CompactTextString(m) } |
| func (*Device) ProtoMessage() {} |
| func (*Device) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{0} |
| } |
| func (m *Device) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_Device.Unmarshal(m, b) |
| } |
| func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_Device.Marshal(b, m, deterministic) |
| } |
| func (dst *Device) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_Device.Merge(dst, src) |
| } |
| func (m *Device) XXX_Size() int { |
| return xxx_messageInfo_Device.Size(m) |
| } |
| func (m *Device) XXX_DiscardUnknown() { |
| xxx_messageInfo_Device.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_Device proto.InternalMessageInfo |
| |
| func (m *Device) GetId() string { |
| if m != nil { |
| return m.Id |
| } |
| return "" |
| } |
| |
| func (m *Device) GetName() string { |
| if m != nil { |
| return m.Name |
| } |
| return "" |
| } |
| |
| func (m *Device) GetNumId() uint64 { |
| if m != nil { |
| return m.NumId |
| } |
| return 0 |
| } |
| |
| func (m *Device) GetCredentials() []*DeviceCredential { |
| if m != nil { |
| return m.Credentials |
| } |
| return nil |
| } |
| |
| func (m *Device) GetLastHeartbeatTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.LastHeartbeatTime |
| } |
| return nil |
| } |
| |
| func (m *Device) GetLastEventTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.LastEventTime |
| } |
| return nil |
| } |
| |
| func (m *Device) GetLastStateTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.LastStateTime |
| } |
| return nil |
| } |
| |
| func (m *Device) GetLastConfigAckTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.LastConfigAckTime |
| } |
| return nil |
| } |
| |
| func (m *Device) GetLastConfigSendTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.LastConfigSendTime |
| } |
| return nil |
| } |
| |
| func (m *Device) GetBlocked() bool { |
| if m != nil { |
| return m.Blocked |
| } |
| return false |
| } |
| |
| func (m *Device) GetLastErrorTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.LastErrorTime |
| } |
| return nil |
| } |
| |
| func (m *Device) GetLastErrorStatus() *status.Status { |
| if m != nil { |
| return m.LastErrorStatus |
| } |
| return nil |
| } |
| |
| func (m *Device) GetConfig() *DeviceConfig { |
| if m != nil { |
| return m.Config |
| } |
| return nil |
| } |
| |
| func (m *Device) GetState() *DeviceState { |
| if m != nil { |
| return m.State |
| } |
| return nil |
| } |
| |
| func (m *Device) GetMetadata() map[string]string { |
| if m != nil { |
| return m.Metadata |
| } |
| return nil |
| } |
| |
| // A container for a group of devices. |
| type DeviceRegistry struct { |
| // The identifier of this device registry. For example, `myRegistry`. |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` |
| // The resource path name. For example, |
| // `projects/example-project/locations/us-central1/registries/my-registry`. |
| Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` |
| // The configuration for notification of telemetry events received from the |
| // device. All telemetry events that were successfully published by the |
| // device and acknowledged by Cloud IoT Core are guaranteed to be |
| // delivered to Cloud Pub/Sub. If multiple configurations match a message, |
| // only the first matching configuration is used. If you try to publish a |
| // device telemetry event using MQTT without specifying a Cloud Pub/Sub topic |
| // for the device's registry, the connection closes automatically. If you try |
| // to do so using an HTTP connection, an error is returned. Up to 10 |
| // configurations may be provided. |
| EventNotificationConfigs []*EventNotificationConfig `protobuf:"bytes,10,rep,name=event_notification_configs,json=eventNotificationConfigs,proto3" json:"event_notification_configs,omitempty"` |
| // The configuration for notification of new states received from the device. |
| // State updates are guaranteed to be stored in the state history, but |
| // notifications to Cloud Pub/Sub are not guaranteed. For example, if |
| // permissions are misconfigured or the specified topic doesn't exist, no |
| // notification will be published but the state will still be stored in Cloud |
| // IoT Core. |
| StateNotificationConfig *StateNotificationConfig `protobuf:"bytes,7,opt,name=state_notification_config,json=stateNotificationConfig,proto3" json:"state_notification_config,omitempty"` |
| // The MQTT configuration for this device registry. |
| MqttConfig *MqttConfig `protobuf:"bytes,4,opt,name=mqtt_config,json=mqttConfig,proto3" json:"mqtt_config,omitempty"` |
| // The DeviceService (HTTP) configuration for this device registry. |
| HttpConfig *HttpConfig `protobuf:"bytes,9,opt,name=http_config,json=httpConfig,proto3" json:"http_config,omitempty"` |
| // The credentials used to verify the device credentials. No more than 10 |
| // credentials can be bound to a single registry at a time. The verification |
| // process occurs at the time of device creation or update. If this field is |
| // empty, no verification is performed. Otherwise, the credentials of a newly |
| // created device or added credentials of an updated device should be signed |
| // with one of these registry credentials. |
| // |
| // Note, however, that existing devices will never be affected by |
| // modifications to this list of credentials: after a device has been |
| // successfully created in a registry, it should be able to connect even if |
| // its registry credentials are revoked, deleted, or modified. |
| Credentials []*RegistryCredential `protobuf:"bytes,8,rep,name=credentials,proto3" json:"credentials,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *DeviceRegistry) Reset() { *m = DeviceRegistry{} } |
| func (m *DeviceRegistry) String() string { return proto.CompactTextString(m) } |
| func (*DeviceRegistry) ProtoMessage() {} |
| func (*DeviceRegistry) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{1} |
| } |
| func (m *DeviceRegistry) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_DeviceRegistry.Unmarshal(m, b) |
| } |
| func (m *DeviceRegistry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_DeviceRegistry.Marshal(b, m, deterministic) |
| } |
| func (dst *DeviceRegistry) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_DeviceRegistry.Merge(dst, src) |
| } |
| func (m *DeviceRegistry) XXX_Size() int { |
| return xxx_messageInfo_DeviceRegistry.Size(m) |
| } |
| func (m *DeviceRegistry) XXX_DiscardUnknown() { |
| xxx_messageInfo_DeviceRegistry.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_DeviceRegistry proto.InternalMessageInfo |
| |
| func (m *DeviceRegistry) GetId() string { |
| if m != nil { |
| return m.Id |
| } |
| return "" |
| } |
| |
| func (m *DeviceRegistry) GetName() string { |
| if m != nil { |
| return m.Name |
| } |
| return "" |
| } |
| |
| func (m *DeviceRegistry) GetEventNotificationConfigs() []*EventNotificationConfig { |
| if m != nil { |
| return m.EventNotificationConfigs |
| } |
| return nil |
| } |
| |
| func (m *DeviceRegistry) GetStateNotificationConfig() *StateNotificationConfig { |
| if m != nil { |
| return m.StateNotificationConfig |
| } |
| return nil |
| } |
| |
| func (m *DeviceRegistry) GetMqttConfig() *MqttConfig { |
| if m != nil { |
| return m.MqttConfig |
| } |
| return nil |
| } |
| |
| func (m *DeviceRegistry) GetHttpConfig() *HttpConfig { |
| if m != nil { |
| return m.HttpConfig |
| } |
| return nil |
| } |
| |
| func (m *DeviceRegistry) GetCredentials() []*RegistryCredential { |
| if m != nil { |
| return m.Credentials |
| } |
| return nil |
| } |
| |
| // The configuration of MQTT for a device registry. |
| type MqttConfig struct { |
| // If enabled, allows connections using the MQTT protocol. Otherwise, MQTT |
| // connections to this registry will fail. |
| MqttEnabledState MqttState `protobuf:"varint,1,opt,name=mqtt_enabled_state,json=mqttEnabledState,proto3,enum=google.cloud.iot.v1.MqttState" json:"mqtt_enabled_state,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *MqttConfig) Reset() { *m = MqttConfig{} } |
| func (m *MqttConfig) String() string { return proto.CompactTextString(m) } |
| func (*MqttConfig) ProtoMessage() {} |
| func (*MqttConfig) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{2} |
| } |
| func (m *MqttConfig) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_MqttConfig.Unmarshal(m, b) |
| } |
| func (m *MqttConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_MqttConfig.Marshal(b, m, deterministic) |
| } |
| func (dst *MqttConfig) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_MqttConfig.Merge(dst, src) |
| } |
| func (m *MqttConfig) XXX_Size() int { |
| return xxx_messageInfo_MqttConfig.Size(m) |
| } |
| func (m *MqttConfig) XXX_DiscardUnknown() { |
| xxx_messageInfo_MqttConfig.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_MqttConfig proto.InternalMessageInfo |
| |
| func (m *MqttConfig) GetMqttEnabledState() MqttState { |
| if m != nil { |
| return m.MqttEnabledState |
| } |
| return MqttState_MQTT_STATE_UNSPECIFIED |
| } |
| |
| // The configuration of the HTTP bridge for a device registry. |
| type HttpConfig struct { |
| // If enabled, allows devices to use DeviceService via the HTTP protocol. |
| // Otherwise, any requests to DeviceService will fail for this registry. |
| HttpEnabledState HttpState `protobuf:"varint,1,opt,name=http_enabled_state,json=httpEnabledState,proto3,enum=google.cloud.iot.v1.HttpState" json:"http_enabled_state,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *HttpConfig) Reset() { *m = HttpConfig{} } |
| func (m *HttpConfig) String() string { return proto.CompactTextString(m) } |
| func (*HttpConfig) ProtoMessage() {} |
| func (*HttpConfig) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{3} |
| } |
| func (m *HttpConfig) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_HttpConfig.Unmarshal(m, b) |
| } |
| func (m *HttpConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_HttpConfig.Marshal(b, m, deterministic) |
| } |
| func (dst *HttpConfig) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_HttpConfig.Merge(dst, src) |
| } |
| func (m *HttpConfig) XXX_Size() int { |
| return xxx_messageInfo_HttpConfig.Size(m) |
| } |
| func (m *HttpConfig) XXX_DiscardUnknown() { |
| xxx_messageInfo_HttpConfig.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_HttpConfig proto.InternalMessageInfo |
| |
| func (m *HttpConfig) GetHttpEnabledState() HttpState { |
| if m != nil { |
| return m.HttpEnabledState |
| } |
| return HttpState_HTTP_STATE_UNSPECIFIED |
| } |
| |
| // The configuration for forwarding telemetry events. |
| type EventNotificationConfig struct { |
| // If the subfolder name matches this string exactly, this configuration will |
| // be used. The string must not include the leading '/' character. If empty, |
| // all strings are matched. This field is used only for telemetry events; |
| // subfolders are not supported for state changes. |
| SubfolderMatches string `protobuf:"bytes,2,opt,name=subfolder_matches,json=subfolderMatches,proto3" json:"subfolder_matches,omitempty"` |
| // A Cloud Pub/Sub topic name. For example, |
| // `projects/myProject/topics/deviceEvents`. |
| PubsubTopicName string `protobuf:"bytes,1,opt,name=pubsub_topic_name,json=pubsubTopicName,proto3" json:"pubsub_topic_name,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *EventNotificationConfig) Reset() { *m = EventNotificationConfig{} } |
| func (m *EventNotificationConfig) String() string { return proto.CompactTextString(m) } |
| func (*EventNotificationConfig) ProtoMessage() {} |
| func (*EventNotificationConfig) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{4} |
| } |
| func (m *EventNotificationConfig) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_EventNotificationConfig.Unmarshal(m, b) |
| } |
| func (m *EventNotificationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_EventNotificationConfig.Marshal(b, m, deterministic) |
| } |
| func (dst *EventNotificationConfig) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_EventNotificationConfig.Merge(dst, src) |
| } |
| func (m *EventNotificationConfig) XXX_Size() int { |
| return xxx_messageInfo_EventNotificationConfig.Size(m) |
| } |
| func (m *EventNotificationConfig) XXX_DiscardUnknown() { |
| xxx_messageInfo_EventNotificationConfig.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_EventNotificationConfig proto.InternalMessageInfo |
| |
| func (m *EventNotificationConfig) GetSubfolderMatches() string { |
| if m != nil { |
| return m.SubfolderMatches |
| } |
| return "" |
| } |
| |
| func (m *EventNotificationConfig) GetPubsubTopicName() string { |
| if m != nil { |
| return m.PubsubTopicName |
| } |
| return "" |
| } |
| |
| // The configuration for notification of new states received from the device. |
| type StateNotificationConfig struct { |
| // A Cloud Pub/Sub topic name. For example, |
| // `projects/myProject/topics/deviceEvents`. |
| PubsubTopicName string `protobuf:"bytes,1,opt,name=pubsub_topic_name,json=pubsubTopicName,proto3" json:"pubsub_topic_name,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *StateNotificationConfig) Reset() { *m = StateNotificationConfig{} } |
| func (m *StateNotificationConfig) String() string { return proto.CompactTextString(m) } |
| func (*StateNotificationConfig) ProtoMessage() {} |
| func (*StateNotificationConfig) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{5} |
| } |
| func (m *StateNotificationConfig) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_StateNotificationConfig.Unmarshal(m, b) |
| } |
| func (m *StateNotificationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_StateNotificationConfig.Marshal(b, m, deterministic) |
| } |
| func (dst *StateNotificationConfig) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_StateNotificationConfig.Merge(dst, src) |
| } |
| func (m *StateNotificationConfig) XXX_Size() int { |
| return xxx_messageInfo_StateNotificationConfig.Size(m) |
| } |
| func (m *StateNotificationConfig) XXX_DiscardUnknown() { |
| xxx_messageInfo_StateNotificationConfig.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_StateNotificationConfig proto.InternalMessageInfo |
| |
| func (m *StateNotificationConfig) GetPubsubTopicName() string { |
| if m != nil { |
| return m.PubsubTopicName |
| } |
| return "" |
| } |
| |
| // A server-stored registry credential used to validate device credentials. |
| type RegistryCredential struct { |
| // The credential data. Reserved for expansion in the future. |
| // |
| // Types that are valid to be assigned to Credential: |
| // *RegistryCredential_PublicKeyCertificate |
| Credential isRegistryCredential_Credential `protobuf_oneof:"credential"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *RegistryCredential) Reset() { *m = RegistryCredential{} } |
| func (m *RegistryCredential) String() string { return proto.CompactTextString(m) } |
| func (*RegistryCredential) ProtoMessage() {} |
| func (*RegistryCredential) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{6} |
| } |
| func (m *RegistryCredential) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_RegistryCredential.Unmarshal(m, b) |
| } |
| func (m *RegistryCredential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_RegistryCredential.Marshal(b, m, deterministic) |
| } |
| func (dst *RegistryCredential) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_RegistryCredential.Merge(dst, src) |
| } |
| func (m *RegistryCredential) XXX_Size() int { |
| return xxx_messageInfo_RegistryCredential.Size(m) |
| } |
| func (m *RegistryCredential) XXX_DiscardUnknown() { |
| xxx_messageInfo_RegistryCredential.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_RegistryCredential proto.InternalMessageInfo |
| |
| type isRegistryCredential_Credential interface { |
| isRegistryCredential_Credential() |
| } |
| |
| type RegistryCredential_PublicKeyCertificate struct { |
| PublicKeyCertificate *PublicKeyCertificate `protobuf:"bytes,1,opt,name=public_key_certificate,json=publicKeyCertificate,proto3,oneof"` |
| } |
| |
| func (*RegistryCredential_PublicKeyCertificate) isRegistryCredential_Credential() {} |
| |
| func (m *RegistryCredential) GetCredential() isRegistryCredential_Credential { |
| if m != nil { |
| return m.Credential |
| } |
| return nil |
| } |
| |
| func (m *RegistryCredential) GetPublicKeyCertificate() *PublicKeyCertificate { |
| if x, ok := m.GetCredential().(*RegistryCredential_PublicKeyCertificate); ok { |
| return x.PublicKeyCertificate |
| } |
| return nil |
| } |
| |
| // XXX_OneofFuncs is for the internal use of the proto package. |
| func (*RegistryCredential) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { |
| return _RegistryCredential_OneofMarshaler, _RegistryCredential_OneofUnmarshaler, _RegistryCredential_OneofSizer, []interface{}{ |
| (*RegistryCredential_PublicKeyCertificate)(nil), |
| } |
| } |
| |
| func _RegistryCredential_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { |
| m := msg.(*RegistryCredential) |
| // credential |
| switch x := m.Credential.(type) { |
| case *RegistryCredential_PublicKeyCertificate: |
| b.EncodeVarint(1<<3 | proto.WireBytes) |
| if err := b.EncodeMessage(x.PublicKeyCertificate); err != nil { |
| return err |
| } |
| case nil: |
| default: |
| return fmt.Errorf("RegistryCredential.Credential has unexpected type %T", x) |
| } |
| return nil |
| } |
| |
| func _RegistryCredential_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { |
| m := msg.(*RegistryCredential) |
| switch tag { |
| case 1: // credential.public_key_certificate |
| if wire != proto.WireBytes { |
| return true, proto.ErrInternalBadWireType |
| } |
| msg := new(PublicKeyCertificate) |
| err := b.DecodeMessage(msg) |
| m.Credential = &RegistryCredential_PublicKeyCertificate{msg} |
| return true, err |
| default: |
| return false, nil |
| } |
| } |
| |
| func _RegistryCredential_OneofSizer(msg proto.Message) (n int) { |
| m := msg.(*RegistryCredential) |
| // credential |
| switch x := m.Credential.(type) { |
| case *RegistryCredential_PublicKeyCertificate: |
| s := proto.Size(x.PublicKeyCertificate) |
| n += 1 // tag and wire |
| n += proto.SizeVarint(uint64(s)) |
| n += s |
| case nil: |
| default: |
| panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) |
| } |
| return n |
| } |
| |
| // Details of an X.509 certificate. For informational purposes only. |
| type X509CertificateDetails struct { |
| // The entity that signed the certificate. |
| Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` |
| // The entity the certificate and public key belong to. |
| Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` |
| // The time the certificate becomes valid. |
| StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` |
| // The time the certificate becomes invalid. |
| ExpiryTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=expiry_time,json=expiryTime,proto3" json:"expiry_time,omitempty"` |
| // The algorithm used to sign the certificate. |
| SignatureAlgorithm string `protobuf:"bytes,5,opt,name=signature_algorithm,json=signatureAlgorithm,proto3" json:"signature_algorithm,omitempty"` |
| // The type of public key in the certificate. |
| PublicKeyType string `protobuf:"bytes,6,opt,name=public_key_type,json=publicKeyType,proto3" json:"public_key_type,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *X509CertificateDetails) Reset() { *m = X509CertificateDetails{} } |
| func (m *X509CertificateDetails) String() string { return proto.CompactTextString(m) } |
| func (*X509CertificateDetails) ProtoMessage() {} |
| func (*X509CertificateDetails) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{7} |
| } |
| func (m *X509CertificateDetails) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_X509CertificateDetails.Unmarshal(m, b) |
| } |
| func (m *X509CertificateDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_X509CertificateDetails.Marshal(b, m, deterministic) |
| } |
| func (dst *X509CertificateDetails) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_X509CertificateDetails.Merge(dst, src) |
| } |
| func (m *X509CertificateDetails) XXX_Size() int { |
| return xxx_messageInfo_X509CertificateDetails.Size(m) |
| } |
| func (m *X509CertificateDetails) XXX_DiscardUnknown() { |
| xxx_messageInfo_X509CertificateDetails.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_X509CertificateDetails proto.InternalMessageInfo |
| |
| func (m *X509CertificateDetails) GetIssuer() string { |
| if m != nil { |
| return m.Issuer |
| } |
| return "" |
| } |
| |
| func (m *X509CertificateDetails) GetSubject() string { |
| if m != nil { |
| return m.Subject |
| } |
| return "" |
| } |
| |
| func (m *X509CertificateDetails) GetStartTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.StartTime |
| } |
| return nil |
| } |
| |
| func (m *X509CertificateDetails) GetExpiryTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.ExpiryTime |
| } |
| return nil |
| } |
| |
| func (m *X509CertificateDetails) GetSignatureAlgorithm() string { |
| if m != nil { |
| return m.SignatureAlgorithm |
| } |
| return "" |
| } |
| |
| func (m *X509CertificateDetails) GetPublicKeyType() string { |
| if m != nil { |
| return m.PublicKeyType |
| } |
| return "" |
| } |
| |
| // A public key certificate format and data. |
| type PublicKeyCertificate struct { |
| // The certificate format. |
| Format PublicKeyCertificateFormat `protobuf:"varint,1,opt,name=format,proto3,enum=google.cloud.iot.v1.PublicKeyCertificateFormat" json:"format,omitempty"` |
| // The certificate data. |
| Certificate string `protobuf:"bytes,2,opt,name=certificate,proto3" json:"certificate,omitempty"` |
| // [Output only] The certificate details. Used only for X.509 certificates. |
| X509Details *X509CertificateDetails `protobuf:"bytes,3,opt,name=x509_details,json=x509Details,proto3" json:"x509_details,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *PublicKeyCertificate) Reset() { *m = PublicKeyCertificate{} } |
| func (m *PublicKeyCertificate) String() string { return proto.CompactTextString(m) } |
| func (*PublicKeyCertificate) ProtoMessage() {} |
| func (*PublicKeyCertificate) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{8} |
| } |
| func (m *PublicKeyCertificate) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_PublicKeyCertificate.Unmarshal(m, b) |
| } |
| func (m *PublicKeyCertificate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_PublicKeyCertificate.Marshal(b, m, deterministic) |
| } |
| func (dst *PublicKeyCertificate) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_PublicKeyCertificate.Merge(dst, src) |
| } |
| func (m *PublicKeyCertificate) XXX_Size() int { |
| return xxx_messageInfo_PublicKeyCertificate.Size(m) |
| } |
| func (m *PublicKeyCertificate) XXX_DiscardUnknown() { |
| xxx_messageInfo_PublicKeyCertificate.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_PublicKeyCertificate proto.InternalMessageInfo |
| |
| func (m *PublicKeyCertificate) GetFormat() PublicKeyCertificateFormat { |
| if m != nil { |
| return m.Format |
| } |
| return PublicKeyCertificateFormat_UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT |
| } |
| |
| func (m *PublicKeyCertificate) GetCertificate() string { |
| if m != nil { |
| return m.Certificate |
| } |
| return "" |
| } |
| |
| func (m *PublicKeyCertificate) GetX509Details() *X509CertificateDetails { |
| if m != nil { |
| return m.X509Details |
| } |
| return nil |
| } |
| |
| // A server-stored device credential used for authentication. |
| type DeviceCredential struct { |
| // The credential data. Reserved for expansion in the future. |
| // |
| // Types that are valid to be assigned to Credential: |
| // *DeviceCredential_PublicKey |
| Credential isDeviceCredential_Credential `protobuf_oneof:"credential"` |
| // [Optional] The time at which this credential becomes invalid. This |
| // credential will be ignored for new client authentication requests after |
| // this timestamp; however, it will not be automatically deleted. |
| ExpirationTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *DeviceCredential) Reset() { *m = DeviceCredential{} } |
| func (m *DeviceCredential) String() string { return proto.CompactTextString(m) } |
| func (*DeviceCredential) ProtoMessage() {} |
| func (*DeviceCredential) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{9} |
| } |
| func (m *DeviceCredential) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_DeviceCredential.Unmarshal(m, b) |
| } |
| func (m *DeviceCredential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_DeviceCredential.Marshal(b, m, deterministic) |
| } |
| func (dst *DeviceCredential) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_DeviceCredential.Merge(dst, src) |
| } |
| func (m *DeviceCredential) XXX_Size() int { |
| return xxx_messageInfo_DeviceCredential.Size(m) |
| } |
| func (m *DeviceCredential) XXX_DiscardUnknown() { |
| xxx_messageInfo_DeviceCredential.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_DeviceCredential proto.InternalMessageInfo |
| |
| type isDeviceCredential_Credential interface { |
| isDeviceCredential_Credential() |
| } |
| |
| type DeviceCredential_PublicKey struct { |
| PublicKey *PublicKeyCredential `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3,oneof"` |
| } |
| |
| func (*DeviceCredential_PublicKey) isDeviceCredential_Credential() {} |
| |
| func (m *DeviceCredential) GetCredential() isDeviceCredential_Credential { |
| if m != nil { |
| return m.Credential |
| } |
| return nil |
| } |
| |
| func (m *DeviceCredential) GetPublicKey() *PublicKeyCredential { |
| if x, ok := m.GetCredential().(*DeviceCredential_PublicKey); ok { |
| return x.PublicKey |
| } |
| return nil |
| } |
| |
| func (m *DeviceCredential) GetExpirationTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.ExpirationTime |
| } |
| return nil |
| } |
| |
| // XXX_OneofFuncs is for the internal use of the proto package. |
| func (*DeviceCredential) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { |
| return _DeviceCredential_OneofMarshaler, _DeviceCredential_OneofUnmarshaler, _DeviceCredential_OneofSizer, []interface{}{ |
| (*DeviceCredential_PublicKey)(nil), |
| } |
| } |
| |
| func _DeviceCredential_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { |
| m := msg.(*DeviceCredential) |
| // credential |
| switch x := m.Credential.(type) { |
| case *DeviceCredential_PublicKey: |
| b.EncodeVarint(2<<3 | proto.WireBytes) |
| if err := b.EncodeMessage(x.PublicKey); err != nil { |
| return err |
| } |
| case nil: |
| default: |
| return fmt.Errorf("DeviceCredential.Credential has unexpected type %T", x) |
| } |
| return nil |
| } |
| |
| func _DeviceCredential_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { |
| m := msg.(*DeviceCredential) |
| switch tag { |
| case 2: // credential.public_key |
| if wire != proto.WireBytes { |
| return true, proto.ErrInternalBadWireType |
| } |
| msg := new(PublicKeyCredential) |
| err := b.DecodeMessage(msg) |
| m.Credential = &DeviceCredential_PublicKey{msg} |
| return true, err |
| default: |
| return false, nil |
| } |
| } |
| |
| func _DeviceCredential_OneofSizer(msg proto.Message) (n int) { |
| m := msg.(*DeviceCredential) |
| // credential |
| switch x := m.Credential.(type) { |
| case *DeviceCredential_PublicKey: |
| s := proto.Size(x.PublicKey) |
| n += 1 // tag and wire |
| n += proto.SizeVarint(uint64(s)) |
| n += s |
| case nil: |
| default: |
| panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) |
| } |
| return n |
| } |
| |
| // A public key format and data. |
| type PublicKeyCredential struct { |
| // The format of the key. |
| Format PublicKeyFormat `protobuf:"varint,1,opt,name=format,proto3,enum=google.cloud.iot.v1.PublicKeyFormat" json:"format,omitempty"` |
| // The key data. |
| Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *PublicKeyCredential) Reset() { *m = PublicKeyCredential{} } |
| func (m *PublicKeyCredential) String() string { return proto.CompactTextString(m) } |
| func (*PublicKeyCredential) ProtoMessage() {} |
| func (*PublicKeyCredential) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{10} |
| } |
| func (m *PublicKeyCredential) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_PublicKeyCredential.Unmarshal(m, b) |
| } |
| func (m *PublicKeyCredential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_PublicKeyCredential.Marshal(b, m, deterministic) |
| } |
| func (dst *PublicKeyCredential) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_PublicKeyCredential.Merge(dst, src) |
| } |
| func (m *PublicKeyCredential) XXX_Size() int { |
| return xxx_messageInfo_PublicKeyCredential.Size(m) |
| } |
| func (m *PublicKeyCredential) XXX_DiscardUnknown() { |
| xxx_messageInfo_PublicKeyCredential.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_PublicKeyCredential proto.InternalMessageInfo |
| |
| func (m *PublicKeyCredential) GetFormat() PublicKeyFormat { |
| if m != nil { |
| return m.Format |
| } |
| return PublicKeyFormat_UNSPECIFIED_PUBLIC_KEY_FORMAT |
| } |
| |
| func (m *PublicKeyCredential) GetKey() string { |
| if m != nil { |
| return m.Key |
| } |
| return "" |
| } |
| |
| // The device configuration. Eventually delivered to devices. |
| type DeviceConfig struct { |
| // [Output only] The version of this update. The version number is assigned by |
| // the server, and is always greater than 0 after device creation. The |
| // version must be 0 on the `CreateDevice` request if a `config` is |
| // specified; the response of `CreateDevice` will always have a value of 1. |
| Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` |
| // [Output only] The time at which this configuration version was updated in |
| // Cloud IoT Core. This timestamp is set by the server. |
| CloudUpdateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=cloud_update_time,json=cloudUpdateTime,proto3" json:"cloud_update_time,omitempty"` |
| // [Output only] The time at which Cloud IoT Core received the |
| // acknowledgment from the device, indicating that the device has received |
| // this configuration version. If this field is not present, the device has |
| // not yet acknowledged that it received this version. Note that when |
| // the config was sent to the device, many config versions may have been |
| // available in Cloud IoT Core while the device was disconnected, and on |
| // connection, only the latest version is sent to the device. Some |
| // versions may never be sent to the device, and therefore are never |
| // acknowledged. This timestamp is set by Cloud IoT Core. |
| DeviceAckTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=device_ack_time,json=deviceAckTime,proto3" json:"device_ack_time,omitempty"` |
| // The device configuration data. |
| BinaryData []byte `protobuf:"bytes,4,opt,name=binary_data,json=binaryData,proto3" json:"binary_data,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *DeviceConfig) Reset() { *m = DeviceConfig{} } |
| func (m *DeviceConfig) String() string { return proto.CompactTextString(m) } |
| func (*DeviceConfig) ProtoMessage() {} |
| func (*DeviceConfig) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{11} |
| } |
| func (m *DeviceConfig) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_DeviceConfig.Unmarshal(m, b) |
| } |
| func (m *DeviceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_DeviceConfig.Marshal(b, m, deterministic) |
| } |
| func (dst *DeviceConfig) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_DeviceConfig.Merge(dst, src) |
| } |
| func (m *DeviceConfig) XXX_Size() int { |
| return xxx_messageInfo_DeviceConfig.Size(m) |
| } |
| func (m *DeviceConfig) XXX_DiscardUnknown() { |
| xxx_messageInfo_DeviceConfig.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_DeviceConfig proto.InternalMessageInfo |
| |
| func (m *DeviceConfig) GetVersion() int64 { |
| if m != nil { |
| return m.Version |
| } |
| return 0 |
| } |
| |
| func (m *DeviceConfig) GetCloudUpdateTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.CloudUpdateTime |
| } |
| return nil |
| } |
| |
| func (m *DeviceConfig) GetDeviceAckTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.DeviceAckTime |
| } |
| return nil |
| } |
| |
| func (m *DeviceConfig) GetBinaryData() []byte { |
| if m != nil { |
| return m.BinaryData |
| } |
| return nil |
| } |
| |
| // The device state, as reported by the device. |
| type DeviceState struct { |
| // [Output only] The time at which this state version was updated in Cloud |
| // IoT Core. |
| UpdateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // The device state data. |
| BinaryData []byte `protobuf:"bytes,2,opt,name=binary_data,json=binaryData,proto3" json:"binary_data,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *DeviceState) Reset() { *m = DeviceState{} } |
| func (m *DeviceState) String() string { return proto.CompactTextString(m) } |
| func (*DeviceState) ProtoMessage() {} |
| func (*DeviceState) Descriptor() ([]byte, []int) { |
| return fileDescriptor_resources_adeeda409206dfbb, []int{12} |
| } |
| func (m *DeviceState) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_DeviceState.Unmarshal(m, b) |
| } |
| func (m *DeviceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_DeviceState.Marshal(b, m, deterministic) |
| } |
| func (dst *DeviceState) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_DeviceState.Merge(dst, src) |
| } |
| func (m *DeviceState) XXX_Size() int { |
| return xxx_messageInfo_DeviceState.Size(m) |
| } |
| func (m *DeviceState) XXX_DiscardUnknown() { |
| xxx_messageInfo_DeviceState.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_DeviceState proto.InternalMessageInfo |
| |
| func (m *DeviceState) GetUpdateTime() *timestamp.Timestamp { |
| if m != nil { |
| return m.UpdateTime |
| } |
| return nil |
| } |
| |
| func (m *DeviceState) GetBinaryData() []byte { |
| if m != nil { |
| return m.BinaryData |
| } |
| return nil |
| } |
| |
| func init() { |
| proto.RegisterType((*Device)(nil), "google.cloud.iot.v1.Device") |
| proto.RegisterMapType((map[string]string)(nil), "google.cloud.iot.v1.Device.MetadataEntry") |
| proto.RegisterType((*DeviceRegistry)(nil), "google.cloud.iot.v1.DeviceRegistry") |
| proto.RegisterType((*MqttConfig)(nil), "google.cloud.iot.v1.MqttConfig") |
| proto.RegisterType((*HttpConfig)(nil), "google.cloud.iot.v1.HttpConfig") |
| proto.RegisterType((*EventNotificationConfig)(nil), "google.cloud.iot.v1.EventNotificationConfig") |
| proto.RegisterType((*StateNotificationConfig)(nil), "google.cloud.iot.v1.StateNotificationConfig") |
| proto.RegisterType((*RegistryCredential)(nil), "google.cloud.iot.v1.RegistryCredential") |
| proto.RegisterType((*X509CertificateDetails)(nil), "google.cloud.iot.v1.X509CertificateDetails") |
| proto.RegisterType((*PublicKeyCertificate)(nil), "google.cloud.iot.v1.PublicKeyCertificate") |
| proto.RegisterType((*DeviceCredential)(nil), "google.cloud.iot.v1.DeviceCredential") |
| proto.RegisterType((*PublicKeyCredential)(nil), "google.cloud.iot.v1.PublicKeyCredential") |
| proto.RegisterType((*DeviceConfig)(nil), "google.cloud.iot.v1.DeviceConfig") |
| proto.RegisterType((*DeviceState)(nil), "google.cloud.iot.v1.DeviceState") |
| proto.RegisterEnum("google.cloud.iot.v1.MqttState", MqttState_name, MqttState_value) |
| proto.RegisterEnum("google.cloud.iot.v1.HttpState", HttpState_name, HttpState_value) |
| proto.RegisterEnum("google.cloud.iot.v1.PublicKeyCertificateFormat", PublicKeyCertificateFormat_name, PublicKeyCertificateFormat_value) |
| proto.RegisterEnum("google.cloud.iot.v1.PublicKeyFormat", PublicKeyFormat_name, PublicKeyFormat_value) |
| } |
| |
| func init() { |
| proto.RegisterFile("google/cloud/iot/v1/resources.proto", fileDescriptor_resources_adeeda409206dfbb) |
| } |
| |
| var fileDescriptor_resources_adeeda409206dfbb = []byte{ |
| // 1348 bytes of a gzipped FileDescriptorProto |
| 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0xdd, 0x52, 0xdb, 0xc6, |
| 0x17, 0x47, 0x06, 0x0c, 0x1c, 0x03, 0xb6, 0x17, 0x02, 0xfa, 0x7b, 0xfe, 0x6d, 0x1c, 0xf7, 0x8b, |
| 0x24, 0xad, 0x9d, 0xd0, 0x49, 0xa6, 0x34, 0x9d, 0x4e, 0xc1, 0x88, 0xe0, 0x06, 0x53, 0x57, 0x76, |
| 0x66, 0xda, 0xdc, 0x68, 0xd6, 0xd2, 0x62, 0x14, 0x6c, 0x49, 0x91, 0x56, 0x9e, 0xf8, 0x01, 0xfa, |
| 0x00, 0xbd, 0xee, 0x4b, 0xf4, 0x55, 0x7a, 0xd1, 0x8b, 0xbe, 0x49, 0x2f, 0x3b, 0x7b, 0x56, 0x92, |
| 0x3f, 0x2a, 0x63, 0x7a, 0xa7, 0x3d, 0xe7, 0xfc, 0x7e, 0x67, 0xcf, 0xd7, 0xee, 0x0a, 0x3e, 0xea, |
| 0xb9, 0x6e, 0xaf, 0xcf, 0x6a, 0x66, 0xdf, 0x0d, 0xad, 0x9a, 0xed, 0xf2, 0xda, 0xf0, 0x69, 0xcd, |
| 0x67, 0x81, 0x1b, 0xfa, 0x26, 0x0b, 0xaa, 0x9e, 0xef, 0x72, 0x97, 0xec, 0x48, 0xa3, 0x2a, 0x1a, |
| 0x55, 0x6d, 0x97, 0x57, 0x87, 0x4f, 0x4b, 0xff, 0x8f, 0x90, 0xd4, 0xb3, 0x6b, 0xd4, 0x71, 0x5c, |
| 0x4e, 0xb9, 0xed, 0x3a, 0x11, 0xa4, 0x74, 0x3f, 0xd2, 0xe2, 0xaa, 0x1b, 0x5e, 0xd5, 0xb8, 0x3d, |
| 0x60, 0x01, 0xa7, 0x03, 0x2f, 0x32, 0xd8, 0x8f, 0x0c, 0x7c, 0xcf, 0xac, 0x05, 0x9c, 0xf2, 0x30, |
| 0x42, 0x56, 0x7e, 0x5d, 0x83, 0xec, 0x29, 0x1b, 0xda, 0x26, 0x23, 0xdb, 0x90, 0xb1, 0x2d, 0x55, |
| 0x29, 0x2b, 0x07, 0x1b, 0x7a, 0xc6, 0xb6, 0x08, 0x81, 0x15, 0x87, 0x0e, 0x98, 0x9a, 0x41, 0x09, |
| 0x7e, 0x93, 0x7b, 0x90, 0x75, 0xc2, 0x81, 0x61, 0x5b, 0xea, 0x72, 0x59, 0x39, 0x58, 0xd1, 0x57, |
| 0x9d, 0x70, 0xd0, 0xb0, 0xc8, 0x4b, 0xc8, 0x99, 0x3e, 0xb3, 0x98, 0xc3, 0x6d, 0xda, 0x0f, 0xd4, |
| 0xcd, 0xf2, 0xf2, 0x41, 0xee, 0xf0, 0x93, 0x6a, 0x4a, 0x20, 0x55, 0xe9, 0xac, 0x9e, 0x58, 0xeb, |
| 0x93, 0x48, 0xf2, 0x3d, 0xec, 0xf4, 0x69, 0xc0, 0x8d, 0x6b, 0x46, 0x7d, 0xde, 0x65, 0x94, 0x1b, |
| 0x22, 0x12, 0x75, 0xad, 0xac, 0x1c, 0xe4, 0x0e, 0x4b, 0x31, 0x61, 0x1c, 0x66, 0xb5, 0x13, 0x87, |
| 0xa9, 0x17, 0x05, 0xec, 0x3c, 0x46, 0x09, 0x39, 0x39, 0x81, 0x3c, 0x72, 0xb1, 0x21, 0x73, 0x22, |
| 0x9e, 0xf5, 0x85, 0x3c, 0x5b, 0x02, 0xa2, 0x09, 0xc4, 0x14, 0x87, 0xc8, 0x19, 0x93, 0x1c, 0xbb, |
| 0x77, 0xe3, 0x68, 0x0b, 0x04, 0x72, 0xbc, 0x82, 0x5d, 0xe4, 0x30, 0x5d, 0xe7, 0xca, 0xee, 0x19, |
| 0xd4, 0xbc, 0x91, 0x44, 0xdb, 0x77, 0x0b, 0xaa, 0x8e, 0xb0, 0x63, 0xf3, 0x06, 0xc9, 0x9a, 0x70, |
| 0x6f, 0x92, 0x2c, 0x60, 0x8e, 0x25, 0xd9, 0xc8, 0x42, 0x36, 0x32, 0x66, 0x6b, 0x33, 0xc7, 0x42, |
| 0x3a, 0x15, 0xd6, 0xba, 0x7d, 0xd7, 0xbc, 0x61, 0x96, 0xba, 0x53, 0x56, 0x0e, 0xd6, 0xf5, 0x78, |
| 0x39, 0xce, 0x9e, 0xef, 0xbb, 0xbe, 0x74, 0x01, 0x77, 0xcc, 0x9e, 0x40, 0x20, 0xfb, 0xb7, 0x50, |
| 0x9c, 0xe0, 0x90, 0x7d, 0xa7, 0xe6, 0x90, 0x85, 0xc4, 0x2c, 0xbe, 0x67, 0x56, 0xdb, 0xa8, 0xd1, |
| 0xf3, 0x09, 0x5a, 0x0a, 0xc8, 0x11, 0x64, 0x65, 0x9c, 0xea, 0x16, 0x82, 0x1e, 0xdc, 0xd6, 0x51, |
| 0x68, 0xa8, 0x47, 0x00, 0xf2, 0x1c, 0x56, 0xb1, 0x66, 0x6a, 0x01, 0x91, 0xe5, 0x5b, 0x90, 0x58, |
| 0x29, 0x5d, 0x9a, 0x13, 0x0d, 0xd6, 0x07, 0x8c, 0x53, 0x8b, 0x72, 0xaa, 0x16, 0xb1, 0x8d, 0x1f, |
| 0xde, 0x02, 0xad, 0x36, 0x23, 0x5b, 0xcd, 0xe1, 0xfe, 0x48, 0x4f, 0xa0, 0xa5, 0x17, 0xb0, 0x35, |
| 0xa5, 0x22, 0x05, 0x58, 0xbe, 0x61, 0xa3, 0x68, 0xba, 0xc4, 0x27, 0xd9, 0x85, 0xd5, 0x21, 0xed, |
| 0x87, 0xf1, 0x7c, 0xc9, 0xc5, 0xd7, 0x99, 0xaf, 0x94, 0xca, 0x5f, 0xcb, 0xb0, 0x2d, 0xf9, 0x75, |
| 0xd6, 0xb3, 0x03, 0x01, 0xbf, 0xcb, 0x6c, 0xbe, 0x85, 0x92, 0x6c, 0x75, 0xc7, 0xe5, 0xf6, 0x95, |
| 0x6d, 0xe2, 0x09, 0x11, 0x35, 0x4a, 0xa0, 0x02, 0x06, 0xf3, 0x79, 0x6a, 0x30, 0xd8, 0xef, 0x97, |
| 0x13, 0xa8, 0x28, 0x99, 0x2a, 0x4b, 0x57, 0x04, 0xe4, 0x1a, 0xfe, 0x27, 0x47, 0x22, 0xc5, 0x57, |
| 0x34, 0xad, 0xe9, 0xae, 0x30, 0xd9, 0x29, 0xae, 0xf6, 0x83, 0x74, 0x05, 0xf9, 0x0e, 0x72, 0x83, |
| 0x77, 0x3c, 0x6e, 0x78, 0x75, 0x05, 0xb9, 0xef, 0xa7, 0x72, 0x37, 0xdf, 0xf1, 0xa8, 0xbf, 0x75, |
| 0x18, 0x24, 0xdf, 0x82, 0xe1, 0x9a, 0x73, 0x2f, 0x66, 0xd8, 0xb8, 0x85, 0xe1, 0x9c, 0x73, 0x2f, |
| 0x66, 0xb8, 0x4e, 0xbe, 0x49, 0x63, 0xfa, 0x78, 0x5b, 0xc7, 0x54, 0x7e, 0x96, 0xca, 0x10, 0x57, |
| 0x6c, 0xce, 0x01, 0x57, 0x79, 0x03, 0x30, 0xde, 0x26, 0xb9, 0x00, 0x82, 0xc1, 0x31, 0x87, 0x76, |
| 0xfb, 0xcc, 0x92, 0xc7, 0x0c, 0x96, 0x79, 0xfb, 0xf0, 0xc3, 0xb9, 0x31, 0xca, 0x86, 0x2d, 0x08, |
| 0xa4, 0x26, 0x81, 0x28, 0x11, 0xdc, 0xe3, 0x00, 0x04, 0x37, 0x86, 0x7d, 0x77, 0x6e, 0x01, 0x8e, |
| 0xb8, 0x05, 0x72, 0x8a, 0xdb, 0x87, 0xfd, 0x39, 0x5d, 0x42, 0x1e, 0x43, 0x31, 0x08, 0xbb, 0x57, |
| 0x6e, 0xdf, 0x62, 0xbe, 0x31, 0xa0, 0xdc, 0xbc, 0x66, 0x41, 0xd4, 0x98, 0x85, 0x44, 0xd1, 0x94, |
| 0x72, 0xf2, 0x08, 0x8a, 0x5e, 0xd8, 0x0d, 0xc2, 0xae, 0xc1, 0x5d, 0xcf, 0x36, 0x0d, 0xec, 0x62, |
| 0xd9, 0xd7, 0x79, 0xa9, 0xe8, 0x08, 0xf9, 0x25, 0x1d, 0xb0, 0x8a, 0x06, 0xfb, 0x73, 0xda, 0xe5, |
| 0x3f, 0xd1, 0xfc, 0xa2, 0x00, 0xf9, 0x77, 0x59, 0x08, 0x85, 0x3d, 0x2f, 0xec, 0xf6, 0x6d, 0xd3, |
| 0xb8, 0x61, 0x23, 0xc3, 0x64, 0x7e, 0xe4, 0x44, 0xf2, 0xcc, 0x9b, 0xfb, 0x16, 0x42, 0x5e, 0xb1, |
| 0x51, 0x7d, 0x0c, 0x38, 0x5f, 0xd2, 0x77, 0xbd, 0x14, 0xf9, 0xc9, 0x26, 0xc0, 0xb8, 0xf6, 0x95, |
| 0xdf, 0x32, 0xb0, 0xf7, 0xd3, 0xb3, 0x27, 0x47, 0x13, 0x16, 0xa7, 0x8c, 0x53, 0xbb, 0x1f, 0x90, |
| 0x3d, 0xc8, 0xda, 0x41, 0x10, 0x32, 0x3f, 0x8a, 0x21, 0x5a, 0x89, 0xe3, 0x39, 0x08, 0xbb, 0x6f, |
| 0x99, 0xc9, 0xa3, 0x84, 0xc6, 0x4b, 0x72, 0x04, 0x10, 0x70, 0xea, 0x47, 0xf7, 0xda, 0xf2, 0xc2, |
| 0x93, 0x79, 0x03, 0xad, 0xf1, 0x54, 0x7e, 0x01, 0x39, 0xf6, 0xde, 0xb3, 0xfd, 0x91, 0xc4, 0xae, |
| 0x2c, 0xc4, 0x82, 0x34, 0x47, 0x70, 0x0d, 0x76, 0x02, 0xbb, 0xe7, 0x50, 0x1e, 0xfa, 0xcc, 0xa0, |
| 0xfd, 0x9e, 0xeb, 0xdb, 0xfc, 0x7a, 0xa0, 0xae, 0xe2, 0xee, 0x48, 0xa2, 0x3a, 0x8e, 0x35, 0xe4, |
| 0x53, 0xc8, 0x4f, 0xa4, 0x99, 0x8f, 0x3c, 0xa6, 0x66, 0xd1, 0x78, 0x2b, 0x49, 0x59, 0x67, 0xe4, |
| 0xb1, 0xca, 0x1f, 0x0a, 0xec, 0xa6, 0x25, 0x97, 0xbc, 0x84, 0xec, 0x95, 0xeb, 0x0f, 0x28, 0x8f, |
| 0x7a, 0xb7, 0x76, 0xe7, 0xba, 0x9c, 0x21, 0x4c, 0x8f, 0xe0, 0xa4, 0x0c, 0xb9, 0xc9, 0x2a, 0xcb, |
| 0x84, 0x4e, 0x8a, 0xc8, 0x25, 0x6c, 0xbe, 0x7f, 0xf6, 0xe4, 0xc8, 0xb0, 0x64, 0x59, 0xa2, 0xb4, |
| 0x3e, 0x4e, 0x75, 0x98, 0x5e, 0x49, 0x3d, 0x27, 0x08, 0xa2, 0x45, 0xe5, 0x77, 0x05, 0x0a, 0xb3, |
| 0xef, 0x1d, 0xd2, 0x00, 0x18, 0x27, 0x04, 0x77, 0x91, 0x3b, 0x3c, 0x58, 0x10, 0x53, 0x82, 0x3e, |
| 0x5f, 0xd2, 0x37, 0x92, 0xbc, 0x91, 0x3a, 0xe4, 0xb1, 0x34, 0xf2, 0xf4, 0xc5, 0x6a, 0x66, 0x17, |
| 0x56, 0x73, 0x7b, 0x0c, 0x11, 0xc2, 0x99, 0x26, 0x65, 0xb0, 0x93, 0xe2, 0x96, 0x7c, 0x33, 0x53, |
| 0x84, 0x8f, 0x6f, 0xdf, 0xf0, 0x4c, 0xe6, 0xa3, 0xcb, 0x2f, 0x93, 0x5c, 0x7e, 0x95, 0x3f, 0x15, |
| 0xd8, 0x9c, 0xbc, 0xb7, 0x45, 0xa7, 0x0f, 0x99, 0x1f, 0xd8, 0xae, 0x83, 0x1e, 0x96, 0xf5, 0x78, |
| 0x49, 0xce, 0xa0, 0x88, 0x4e, 0x8c, 0xd0, 0xb3, 0x92, 0x47, 0x58, 0x66, 0x61, 0x98, 0x79, 0x04, |
| 0xbd, 0x46, 0x4c, 0xfc, 0x94, 0xb3, 0xd0, 0xe3, 0xf8, 0x05, 0xb6, 0x78, 0x6c, 0xb6, 0x24, 0x24, |
| 0x7e, 0x7d, 0xdd, 0x87, 0x5c, 0xd7, 0x76, 0xa8, 0x3f, 0x32, 0xf0, 0x81, 0x20, 0x46, 0x67, 0x53, |
| 0x07, 0x29, 0x3a, 0xa5, 0x9c, 0x56, 0x6e, 0x20, 0x37, 0xf1, 0xa8, 0x10, 0xa3, 0x36, 0xb9, 0x6b, |
| 0x65, 0xf1, 0xa8, 0x85, 0xe3, 0x0d, 0xcf, 0x38, 0xcb, 0xcc, 0x3a, 0x7b, 0x74, 0x01, 0x1b, 0xc9, |
| 0x75, 0x40, 0x4a, 0xb0, 0xd7, 0xfc, 0xb1, 0xd3, 0x31, 0xda, 0x9d, 0xe3, 0x8e, 0x66, 0xbc, 0xbe, |
| 0x6c, 0xb7, 0xb4, 0x7a, 0xe3, 0xac, 0xa1, 0x9d, 0x16, 0x96, 0x48, 0x01, 0x36, 0x51, 0xa7, 0x5d, |
| 0x1e, 0x9f, 0x5c, 0x68, 0xa7, 0x05, 0x85, 0x14, 0x61, 0x0b, 0x25, 0xa7, 0x8d, 0xb6, 0x14, 0x65, |
| 0x04, 0x5b, 0x72, 0x01, 0x08, 0xb6, 0xf3, 0x4e, 0xa7, 0x35, 0x8f, 0x0d, 0x75, 0x53, 0x6c, 0x28, |
| 0x99, 0x60, 0x63, 0x50, 0x9a, 0x3f, 0x92, 0xe4, 0x0b, 0x78, 0x38, 0xc1, 0x69, 0xb4, 0x5e, 0x9f, |
| 0x5c, 0x34, 0xea, 0xc6, 0x2b, 0xed, 0x67, 0xa3, 0xae, 0xe9, 0x9d, 0xc6, 0x59, 0xa3, 0x2e, 0xdc, |
| 0x9e, 0xfd, 0xa0, 0x37, 0x8f, 0x3b, 0x85, 0x25, 0xa2, 0xc2, 0xae, 0x18, 0xb7, 0x29, 0x65, 0x4b, |
| 0x6b, 0x16, 0x94, 0x47, 0x43, 0xc8, 0xcf, 0x34, 0x1d, 0x79, 0x00, 0x1f, 0xcc, 0xe1, 0x4e, 0xf8, |
| 0x72, 0xb0, 0xa6, 0xb7, 0x8f, 0x91, 0x62, 0x59, 0x84, 0x23, 0x16, 0xe8, 0x00, 0x49, 0xc9, 0x16, |
| 0x6c, 0x68, 0xed, 0xc3, 0x67, 0xcf, 0x71, 0x99, 0x21, 0x04, 0xb6, 0xe5, 0x32, 0x31, 0x59, 0x39, |
| 0xb9, 0x82, 0x7d, 0xd3, 0x1d, 0xa4, 0x0d, 0xc1, 0xc9, 0xb6, 0x1e, 0xff, 0xcf, 0xb5, 0x44, 0x7d, |
| 0x5b, 0xca, 0x9b, 0xe7, 0x91, 0x59, 0xcf, 0xed, 0x53, 0xa7, 0x57, 0x75, 0xfd, 0x5e, 0xad, 0xc7, |
| 0x1c, 0xac, 0x7e, 0x4d, 0xaa, 0xa8, 0x67, 0x07, 0x53, 0x3f, 0x85, 0x2f, 0x6c, 0x97, 0xff, 0xad, |
| 0x28, 0xdd, 0x2c, 0x5a, 0x7d, 0xf9, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0xd7, 0xe3, 0xef, |
| 0x39, 0x0e, 0x00, 0x00, |
| } |