Service iam.edgelq.com in version v1, proto package ntt.iam.v1
Here is the list of resources supported in IAM service APIv1:
- AttestationDomain resource
- Condition resource
- Group resource
- GroupMember resource
- MemberAssignment resource
- Organization resource
- OrganizationInvitation resource
- Permission resource
- Project resource
- ProjectInvitation resource
- Role resource
- RoleBinding resource
- ServiceAccount resource
- ServiceAccountKey resource
- User resource
AttestationDomain Resource
AttestationDomain Resource
Name patterns:
projects/{project}/attestationDomains/{attestation_domain}
Parent resources:
This section covers the methods and messages to interact with AttestationDomain resource.
AttestationDomain Methods
Here is the list of AttestationDomain resource methods:
- GetAttestationDomain method
- BatchGetAttestationDomains method
- ListAttestationDomains method
- WatchAttestationDomain method
- WatchAttestationDomains method
- CreateAttestationDomain method
- UpdateAttestationDomain method
- DeleteAttestationDomain method
- Verify method
GetAttestationDomain Method
GetAttestationDomain
rpc GetAttestationDomain(GetAttestationDomainRequest) returns (AttestationDomain)
with the following messages:
- GetAttestationDomainRequest request message
- AttestationDomain response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.get
The equivalent REST API is:
GET /v1/{name=projects/*/attestationDomains/*}
BatchGetAttestationDomains Method
BatchGetAttestationDomains
rpc BatchGetAttestationDomains(BatchGetAttestationDomainsRequest) returns (BatchGetAttestationDomainsResponse)
with the following messages:
- BatchGetAttestationDomainsRequest request message
- BatchGetAttestationDomainsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.batchGet
The equivalent REST API is:
GET /v1/attestationDomains:batchGet
ListAttestationDomains Method
ListAttestationDomains
rpc ListAttestationDomains(ListAttestationDomainsRequest) returns (ListAttestationDomainsResponse)
with the following messages:
- ListAttestationDomainsRequest request message
- ListAttestationDomainsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.list
The equivalent REST API is:
GET /v1/{parent=projects/*}/attestationDomains
WatchAttestationDomain Method
WatchAttestationDomain
rpc WatchAttestationDomain(WatchAttestationDomainRequest) returns (WatchAttestationDomainResponse)
with the following messages:
- WatchAttestationDomainRequest request message
- WatchAttestationDomainResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.watch
The equivalent REST API is:
POST /v1/{name=projects/*/attestationDomains/*}:watch
WatchAttestationDomains Method
WatchAttestationDomains
rpc WatchAttestationDomains(WatchAttestationDomainsRequest) returns (WatchAttestationDomainsResponse)
with the following messages:
- WatchAttestationDomainsRequest request message
- WatchAttestationDomainsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.watch
The equivalent REST API is:
POST /v1/{parent=projects/*}/attestationDomains:watch
CreateAttestationDomain Method
CreateAttestationDomain
rpc CreateAttestationDomain(CreateAttestationDomainRequest) returns (AttestationDomain)
with the following messages:
- CreateAttestationDomainRequest request message
- AttestationDomain response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.create
The equivalent REST API is:
POST /v1/{parent=projects/*}/attestationDomains (BODY: attestation_domain)
UpdateAttestationDomain Method
UpdateAttestationDomain
rpc UpdateAttestationDomain(UpdateAttestationDomainRequest) returns (AttestationDomain)
with the following messages:
- UpdateAttestationDomainRequest request message
- AttestationDomain response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.update
The equivalent REST API is:
PUT /v1/{attestation_domain.name=projects/*/attestationDomains/*} (BODY: attestation_domain)
DeleteAttestationDomain Method
DeleteAttestationDomain
rpc DeleteAttestationDomain(DeleteAttestationDomainRequest) returns (Empty)
with the following messages:
- DeleteAttestationDomainRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*/attestationDomains/*}
Verify Method
Verify
rpc Verify(VerifyRequest) returns (VerifyResponse)
with the following messages:
- VerifyRequest request message
- VerifyResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/attestationDomains.verify
The equivalent REST API is:
POST /v1/{ask_for_challenge.attestation_domain=projects/*/attestationDomains/*}:verify
AttestationDomain Messages
Here is the list of AttestationDomain resource messages:
- AttestationDomain message
- AttestationDomain.Policy message
- AttestationDomain.EnrolledKey message
- GetAttestationDomainRequest message
- BatchGetAttestationDomainsRequest message
- BatchGetAttestationDomainsResponse message
- ListAttestationDomainsRequest message
- ListAttestationDomainsResponse message
- WatchAttestationDomainRequest message
- WatchAttestationDomainResponse message
- WatchAttestationDomainsRequest message
- WatchAttestationDomainsResponse message
- WatchAttestationDomainsResponse.PageTokenChange message
- CreateAttestationDomainRequest message
- CreateAttestationDomainRequest.ResponseMask message
- UpdateAttestationDomainRequest message
- UpdateAttestationDomainRequest.CAS message
- UpdateAttestationDomainRequest.ResponseMask message
- DeleteAttestationDomainRequest message
- VerifyRequest message
- VerifyRequest.AskForChallenge message
- VerifyRequest.ChallengeResponse message
- VerifyRequest.ChallengeResponse.Quote message
- VerifyResponse message
- VerifyResponse.Challenge message
- VerifyResponse.AttestationSuccessful message
AttestationDomain Message
Name | Type | Description |
---|---|---|
name | string (name of AttestationDomain) | Name of AttestationDomain When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
display_name | string | Display name |
insecure_skip_manufacturer_ekcert_verification | bool | If false (default), attestation verifier SHALL check CA certificate chain up to the TPM chip manufacturers CA (defined in manufacturer_ca_issuers). This step is necessary to prove that the attestation request comes from a genuine TPM device, and not a TPM emulator. If true, attestation verifier SHALL skip EKcert verification - !!INSECURE!! Without this check, any keys may come from a simulated TPM on the device. An attacker may therefore forge any key they want. Therefore, this option should only be changed for development purposes. |
policies | repeated AttestationDomain.Policy | Attestees wanting to attest under this attestation domain SHALL fulfill requirements of at least one of attestation policies defined in this list. Policies are checked in the order they appear on this list. |
enrollment_list | repeated AttestationDomain.EnrolledKey | Attestation policy may require atestees pubkey to be present on enrollment_list. |
AttestationDomain.Policy Message
Policy defines a singular attestation policy, that should match a homogenous class of device (i.e. hardware and firmware configuration) in the fleet.
Name | Type | Description |
---|---|---|
manufacturer_root_ca_certs_pem | string | List of acceptable manufacturer’s root CAs certs (in PEM format). To obtain such a cert, run something like: tpm2_getekcertificate -o cert.bin openssl x509 -inform der -in cert.bin -noout -text Then manually download certificate specified in Authority Information Access (AIA). Repeat the above openssl command on the newly downloadedfile (change the value of -in argument). Continue this until you reach a certificate which does not have AIA. It’s the root certificate. Convert it to PEM like so: openssl x509 -inform der -in root.crt -out root.pem Still, we need to encode newlines: awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' root.pem Then paste the output here. Note: multiple PEM certificates may be included here by simple means of concatenation. |
require_enrollment | bool | If true, the attestee’s pubkey SHALL be present on this AttestationDomain’s enrollment list, otherwise fail the attestation. |
verify_event_log | bool | If true, the verifier SHALL parse, replay and verify TPM event log provided by the atestee, otherwise fail the attestation. Note that requiring verification of event does not provide additional security. See https://github.com/google/go-attestation/blob/master/docs/event-log-disclosure.md#event-type-and-verification-footguns |
expected_pcrs | repeated PCR | List of expected PCR values. All PCRs on this list SHALL match exactly the PCRs provided by the atestee, otherwise the attestation SHALL be failed. The verifier SHALL perform sanity checks: PCR index/digest pairs are unique and the size of the list is sane (TODO). They can be read from TPM by running something like tpm2_pcrread . |
AttestationDomain.EnrolledKey Message
EnrolledKey defines an enrolled key.
Name | Type | Description |
---|---|---|
pubkey_pem | string | PEM encoded EK pubkey. It can be read from TPM by running something like tpm2_createek -G rsa -u ek.pub -c key.ctx -f pem . |
comment | string | User’s comments for this entry |
GetAttestationDomainRequest Message
A request message of the GetAttestationDomain method.
Name | Type | Description |
---|---|---|
name | string (name of AttestationDomain) | Name of ntt.iam.v1.AttestationDomain |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetAttestationDomainsRequest Message
A request message of the BatchGetAttestationDomains method.
Name | Type | Description |
---|---|---|
names | repeated string (name of AttestationDomain) | Names of AttestationDomains |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetAttestationDomainsResponse Message
A response message of the BatchGetAttestationDomains method.
Name | Type | Description |
---|---|---|
attestation_domains | repeated AttestationDomain | found AttestationDomains |
missing | repeated string (name of AttestationDomain) | list of not found AttestationDomains |
ListAttestationDomainsRequest Message
A request message of the ListAttestationDomains method.
Name | Type | Description |
---|---|---|
parent | string (parent name of AttestationDomain) | Parent name of ntt.iam.v1.AttestationDomain |
page_size | int32 | Requested page size. Server may return fewer AttestationDomains than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of AttestationDomain) | A token identifying a page of results the server should return. Typically, this is the value of ListAttestationDomainsResponse.next_page_token. |
order_by | string (orderBy of AttestationDomain) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of AttestationDomain) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListAttestationDomainsResponse Message
A response message of the ListAttestationDomains method.
Name | Type | Description |
---|---|---|
attestation_domains | repeated AttestationDomain | The list of AttestationDomains |
prev_page_token | string (cursor of AttestationDomain) | A token to retrieve previous page of results. Pass this value in the ListAttestationDomainsRequest.page_token. |
next_page_token | string (cursor of AttestationDomain) | A token to retrieve next page of results. Pass this value in the ListAttestationDomainsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total AttestationDomains across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchAttestationDomainRequest Message
A request message of the WatchAttestationDomain method.
Name | Type | Description |
---|---|---|
name | string (name of AttestationDomain) | Name of ntt.iam.v1.AttestationDomain |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchAttestationDomainResponse Message
A response message of the WatchAttestationDomain method.
Name | Type | Description |
---|---|---|
change | AttestationDomainChange |
WatchAttestationDomainsRequest Message
A request message of the WatchAttestationDomains method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of AttestationDomain) | Parent name of ntt.iam.v1.AttestationDomain |
page_size | int32 | Requested page size. Server may return fewer AttestationDomains than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of AttestationDomain) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of AttestationDomain) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of AttestationDomain) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to AttestationDomain that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to AttestationDomain that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchAttestationDomainsResponse Message
A response message of the WatchAttestationDomains method.
Name | Type | Description |
---|---|---|
attestation_domain_changes | repeated AttestationDomainChange | Changes of AttestationDomains |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All AttestationDomains will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchAttestationDomainsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (AttestationDomains will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchAttestationDomainsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of AttestationDomain) | New token to retrieve previous page of results. |
next_page_token | string (cursor of AttestationDomain) | New token to retrieve next page of results. |
CreateAttestationDomainRequest Message
A request message of the CreateAttestationDomain method.
Name | Type | Description |
---|---|---|
parent | string (parent name of AttestationDomain) | Parent name of ntt.iam.v1.AttestationDomain |
attestation_domain | AttestationDomain | AttestationDomain resource body |
response_mask | CreateAttestationDomainRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateAttestationDomainRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateAttestationDomainRequest Message
A request message of the UpdateAttestationDomain method.
Name | Type | Description |
---|---|---|
attestation_domain | AttestationDomain | AttestationDomain resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateAttestationDomainRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateAttestationDomainRequest.ResponseMask | reduce message response size. |
UpdateAttestationDomainRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | AttestationDomain | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateAttestationDomainRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteAttestationDomainRequest Message
A request message of the DeleteAttestationDomain method.
Name | Type | Description |
---|---|---|
name | string (name of AttestationDomain) | Name of ntt.iam.v1.AttestationDomain |
VerifyRequest Message
Request message for method [Verify][ntt.iam.v1.Verify]
Name | Type | Description |
---|---|---|
ask_for_challenge | VerifyRequest.AskForChallenge | |
challenge_response | VerifyRequest.ChallengeResponse |
VerifyRequest.AskForChallenge Message
Name | Type | Description |
---|---|---|
subject | string | This will be used to set “sub” claim for attestation token. This “sub” should be compared to “sub” of JWT access token during validation. “Sub” comparison ties both tokens together and protects against theft/reuse of one of them by another service account. |
attestation_domain | string (name of AttestationDomain) | attestation domain ref |
tpm_version | TpmVersion | |
ekpub | bytes | PKIX encoded EK public |
ekcert | bytes | ASN.1 DER encoded EK certificate. |
ekcerturl | string | For Intel TPMs, Intel hosts certificates at a public URL derived from the Public key. Clients or servers can perform an HTTP GET to this URL, and use ParseEKCertificate on the response body. |
akpub | bytes | https://trustedcomputinggroup.org/wp-content/uploads/TPM-Main-Part-2-TPM-Structures_v1.2_rev116_01032011.pdf https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf TPMT_PUBLIC (TPM 2.0) or TPM_PUBKEY (TPM 1.2) |
creation_data | bytes | TPMS_CREATION_DATA |
attest | bytes | TPMS_ATTEST |
signature | bytes | TPMT_SIGNATURE |
challenge_format | VerifyRequest.AskForChallenge.ChallengeFormat | ChallengeFormat defines the method of generating identity activation challenge by the Verifier (server). It should affect the interpretation ChallengeResponse fields cred_encrypted_by_ekpub and secret_encrypted_by_cred. Attestor (client) is responsible for chosing the right format depending on TPM version and the presence of TrouSerS daemon. |
VerifyRequest.ChallengeResponse Message
Name | Type | Description |
---|---|---|
ak_activation_decrypted_secret | bytes | |
quotes | repeated VerifyRequest.ChallengeResponse.Quote | |
pcrs | repeated PCR | |
eventlog | bytes | Binary contents of /sys/kernel/security/tpm0/binary_bios_measurements |
VerifyRequest.ChallengeResponse.Quote Message
Name | Type | Description |
---|---|---|
quote | bytes | TPMS_ATTEST (TSS_VALIDATION.Data or TSS_VALIDATION.rgbData) This contains PCR selection information for which the signature was calculated and other required data, like nonce. |
signature | bytes | TSS_VALIDATION.ValidationData or TSS_VALIDATION.rgbValidationData |
VerifyResponse Message
Response message for method [Verify][ntt.iam.v1.Verify]
Name | Type | Description |
---|---|---|
challenge | VerifyResponse.Challenge | |
attestation_successful | VerifyResponse.AttestationSuccessful |
VerifyResponse.Challenge Message
Name | Type | Description |
---|---|---|
platform_attestation_nonce | bytes | Platform attestation |
cred_encrypted_by_ekpub | bytes | AK Identity Activation |
secret_encrypted_by_cred | bytes |
VerifyResponse.AttestationSuccessful Message
Name | Type | Description |
---|---|---|
attestation_token | string |
Condition Resource
Condition Resource represents additional that is not built-in into the role. It can be attached to role grant or RoleBinding (applies to all grants then).
Name patterns:
conditions/{condition}
projects/{project}/conditions/{condition}
organizations/{organization}/conditions/{condition}
services/{service}/conditions/{condition}
Parent resources:
This section covers the methods and messages to interact with Condition resource.
Condition Methods
Here is the list of Condition resource methods:
- GetCondition method
- BatchGetConditions method
- ListConditions method
- WatchCondition method
- WatchConditions method
- CreateCondition method
- UpdateCondition method
- DeleteCondition method
GetCondition Method
GetCondition
rpc GetCondition(GetConditionRequest) returns (Condition)
with the following messages:
- GetConditionRequest request message
- Condition response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.get
The equivalent REST API is:
GET /v1/{name=conditions/*}
GET /v1/{name=projects/*/conditions/*}
GET /v1/{name=organizations/*/conditions/*}
GET /v1/{name=services/*/conditions/*}
BatchGetConditions Method
BatchGetConditions
rpc BatchGetConditions(BatchGetConditionsRequest) returns (BatchGetConditionsResponse)
with the following messages:
- BatchGetConditionsRequest request message
- BatchGetConditionsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.batchGet
The equivalent REST API is:
GET /v1/conditions:batchGet
ListConditions Method
ListConditions
rpc ListConditions(ListConditionsRequest) returns (ListConditionsResponse)
with the following messages:
- ListConditionsRequest request message
- ListConditionsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.list
The equivalent REST API is:
GET /v1/conditions
GET /v1/{parent=projects/*}/conditions
GET /v1/{parent=organizations/*}/conditions
GET /v1/{parent=services/*}/conditions
WatchCondition Method
WatchCondition
rpc WatchCondition(WatchConditionRequest) returns (WatchConditionResponse)
with the following messages:
- WatchConditionRequest request message
- WatchConditionResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.watch
The equivalent REST API is:
POST /v1/{name=conditions/*}:watch
POST /v1/{name=projects/*/conditions/*}:watch
POST /v1/{name=organizations/*/conditions/*}:watch
POST /v1/{name=services/*/conditions/*}:watch
WatchConditions Method
WatchConditions
rpc WatchConditions(WatchConditionsRequest) returns (WatchConditionsResponse)
with the following messages:
- WatchConditionsRequest request message
- WatchConditionsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.watch
The equivalent REST API is:
POST /v1/conditions:watch
POST /v1/{parent=projects/*}/conditions:watch
POST /v1/{parent=organizations/*}/conditions:watch
POST /v1/{parent=services/*}/conditions:watch
CreateCondition Method
CreateCondition
rpc CreateCondition(CreateConditionRequest) returns (Condition)
with the following messages:
- CreateConditionRequest request message
- Condition response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.create
The equivalent REST API is:
POST /v1/conditions (BODY: condition)
POST /v1/{parent=projects/*}/conditions
POST /v1/{parent=organizations/*}/conditions
POST /v1/{parent=services/*}/conditions
UpdateCondition Method
UpdateCondition
rpc UpdateCondition(UpdateConditionRequest) returns (Condition)
with the following messages:
- UpdateConditionRequest request message
- Condition response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.update
The equivalent REST API is:
PUT /v1/{condition.name=conditions/*} (BODY: condition)
PUT /v1/{condition.name=projects/*/conditions/*}
PUT /v1/{condition.name=organizations/*/conditions/*}
PUT /v1/{condition.name=services/*/conditions/*}
DeleteCondition Method
DeleteCondition
rpc DeleteCondition(DeleteConditionRequest) returns (Empty)
with the following messages:
- DeleteConditionRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/conditions.delete
The equivalent REST API is:
DELETE /v1/{name=conditions/*}
DELETE /v1/{name=projects/*/conditions/*}
DELETE /v1/{name=organizations/*/conditions/*}
DELETE /v1/{name=services/*/conditions/*}
Condition Messages
Here is the list of Condition resource messages:
- Condition message
- Condition.ParameterDeclaration message
- Condition.IpCondition message
- Condition.AttestationCondition message
- GetConditionRequest message
- BatchGetConditionsRequest message
- BatchGetConditionsResponse message
- ListConditionsRequest message
- ListConditionsResponse message
- WatchConditionRequest message
- WatchConditionResponse message
- WatchConditionsRequest message
- WatchConditionsResponse message
- WatchConditionsResponse.PageTokenChange message
- CreateConditionRequest message
- CreateConditionRequest.ResponseMask message
- UpdateConditionRequest message
- UpdateConditionRequest.CAS message
- UpdateConditionRequest.ResponseMask message
- DeleteConditionRequest message
Condition Message
Name | Type | Description |
---|---|---|
name | string (name of Condition) | Name of Condition When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
display_name | string | Display Name |
description | string | Description |
ip_condition | Condition.IpCondition | |
attestation_condition | Condition.AttestationCondition | |
expression | string | Condition expression in Google CEL, syntax, e.g. resource.name == "projects/xyz/instances/abc" Accessible parameters: |
parameter_declarations | repeated Condition.ParameterDeclaration | Typed parameters declarations. When binding a Condition passed parameters must correspond to declarations. DEPRECATED: Along with expression, CEL conditions are gone. |
Condition.ParameterDeclaration Message
Parameter Declarations used
Name | Type | Description |
---|---|---|
key | string | Parameter Key - must be unique within condition. Defined parameter variables are accessible in condition expression via parameters.\<key\> , e.g.parameters.projectId |
type | Condition.ParameterType | Parameter value type |
Condition.IpCondition Message
IpCondition presents list of allowed/disallowed source IP addresses.
Name | Type | Description |
---|---|---|
allowed_cidrs | repeated string | Allowed IP cidrs in v4 or v6 format. If specified, at least one must be satisfied during execution. |
disabled_cidrs | repeated string | Disallowed IP cidrs in v4 or v6 format. If specified, client IP must not be in any specified range. |
Condition.AttestationCondition Message
AttestationCondition requires that associated roles/grants are authorized only if caller attaches proper attestation token next to authorization one.
Name | Type | Description |
---|---|---|
domain | string (reference to AttestationDomain) | Domain name that must be present in attestation token. |
except_permissions | repeated string (reference to Permission) | List of permissions excepted from this condition. By default, it contains: * services/iam.edgelq.com/permissions/attestationDomains.get * services/iam.edgelq.com/permissions/attestationDomains.verify * services/iam.edgelq.com/permissions/serviceAccounts.get * services/iam.edgelq.com/permissions/serviceAccountKeys.get * services/devices.edgelq.com/permissions/devices.list * services/devices.edgelq.com/permissions/provisioningPolicies.list * services/devices.edgelq.com/permissions/provisioningPolicies.provisionDeviceViaPolicy * services/devices.edgelq.com/permissions/provisioningPolicies.requestProvisioningApproval Those are necessary to obtain attestation token in the first place. |
GetConditionRequest Message
A request message of the GetCondition method.
Name | Type | Description |
---|---|---|
name | string (name of Condition) | Name of ntt.iam.v1.Condition |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConditionsRequest Message
A request message of the BatchGetConditions method.
Name | Type | Description |
---|---|---|
names | repeated string (name of Condition) | Names of Conditions |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConditionsResponse Message
A response message of the BatchGetConditions method.
Name | Type | Description |
---|---|---|
conditions | repeated Condition | found Conditions |
missing | repeated string (name of Condition) | list of not found Conditions |
ListConditionsRequest Message
A request message of the ListConditions method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Condition) | Parent name of ntt.iam.v1.Condition |
page_size | int32 | Requested page size. Server may return fewer Conditions than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Condition) | A token identifying a page of results the server should return. Typically, this is the value of ListConditionsResponse.next_page_token. |
order_by | string (orderBy of Condition) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Condition) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListConditionsResponse Message
A response message of the ListConditions method.
Name | Type | Description |
---|---|---|
conditions | repeated Condition | The list of Conditions |
prev_page_token | string (cursor of Condition) | A token to retrieve previous page of results. Pass this value in the ListConditionsRequest.page_token. |
next_page_token | string (cursor of Condition) | A token to retrieve next page of results. Pass this value in the ListConditionsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Conditions across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchConditionRequest Message
A request message of the WatchCondition method.
Name | Type | Description |
---|---|---|
name | string (name of Condition) | Name of ntt.iam.v1.Condition |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchConditionResponse Message
A response message of the WatchCondition method.
Name | Type | Description |
---|---|---|
change | ConditionChange |
WatchConditionsRequest Message
A request message of the WatchConditions method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of Condition) | Parent name of ntt.iam.v1.Condition |
page_size | int32 | Requested page size. Server may return fewer Conditions than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of Condition) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of Condition) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of Condition) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Condition that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Condition that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchConditionsResponse Message
A response message of the WatchConditions method.
Name | Type | Description |
---|---|---|
condition_changes | repeated ConditionChange | Changes of Conditions |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Conditions will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchConditionsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Conditions will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchConditionsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of Condition) | New token to retrieve previous page of results. |
next_page_token | string (cursor of Condition) | New token to retrieve next page of results. |
CreateConditionRequest Message
A request message of the CreateCondition method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Condition) | Parent name of ntt.iam.v1.Condition |
condition | Condition | Condition resource body |
response_mask | CreateConditionRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateConditionRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateConditionRequest Message
A request message of the UpdateCondition method.
Name | Type | Description |
---|---|---|
condition | Condition | Condition resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateConditionRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateConditionRequest.ResponseMask | reduce message response size. |
UpdateConditionRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | Condition | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateConditionRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteConditionRequest Message
A request message of the DeleteCondition method.
Name | Type | Description |
---|---|---|
name | string (name of Condition) | Name of ntt.iam.v1.Condition |
Condition Enumerations
Here is the list of Condition resource enumerations:
- Condition.ParameterType enumeration
Condition.ParameterType Enumeration
Parameter Type.
Name | Description |
---|---|
TYPE_UNSPECIFIED | |
STRING | |
INT64 | |
DOUBLE | |
BOOL | |
STRING_ARRAY | |
INT64_ARRAY | |
DOUBLE_ARRAY | |
BOOL_ARRAY | |
OBJECT |
Group Resource
Group Resource
Name patterns:
groups/{group}
projects/{project}/groups/{group}
organizations/{organization}/groups/{group}
services/{service}/groups/{group}
Parent resources:
This section covers the methods and messages to interact with Group resource.
Group Methods
Here is the list of Group resource methods:
- GetGroup method
- BatchGetGroups method
- ListGroups method
- WatchGroup method
- WatchGroups method
- CreateGroup method
- UpdateGroup method
- DeleteGroup method
GetGroup Method
GetGroup
rpc GetGroup(GetGroupRequest) returns (Group)
with the following messages:
- GetGroupRequest request message
- Group response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.get
The equivalent REST API is:
GET /v1/{name=groups/*}
GET /v1/{name=projects/*/groups/*}
GET /v1/{name=organizations/*/groups/*}
GET /v1/{name=services/*/groups/*}
BatchGetGroups Method
BatchGetGroups
rpc BatchGetGroups(BatchGetGroupsRequest) returns (BatchGetGroupsResponse)
with the following messages:
- BatchGetGroupsRequest request message
- BatchGetGroupsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.batchGet
The equivalent REST API is:
GET /v1/groups:batchGet
ListGroups Method
ListGroups
rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse)
with the following messages:
- ListGroupsRequest request message
- ListGroupsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.list
The equivalent REST API is:
GET /v1/groups
GET /v1/{parent=projects/*}/groups
GET /v1/{parent=organizations/*}/groups
GET /v1/{parent=services/*}/groups
WatchGroup Method
WatchGroup
rpc WatchGroup(WatchGroupRequest) returns (WatchGroupResponse)
with the following messages:
- WatchGroupRequest request message
- WatchGroupResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.watch
The equivalent REST API is:
POST /v1/{name=groups/*}:watch
POST /v1/{name=projects/*/groups/*}:watch
POST /v1/{name=organizations/*/groups/*}:watch
POST /v1/{name=services/*/groups/*}:watch
WatchGroups Method
WatchGroups
rpc WatchGroups(WatchGroupsRequest) returns (WatchGroupsResponse)
with the following messages:
- WatchGroupsRequest request message
- WatchGroupsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.watch
The equivalent REST API is:
POST /v1/groups:watch
POST /v1/{parent=projects/*}/groups:watch
POST /v1/{parent=organizations/*}/groups:watch
POST /v1/{parent=services/*}/groups:watch
CreateGroup Method
CreateGroup
rpc CreateGroup(CreateGroupRequest) returns (Group)
with the following messages:
- CreateGroupRequest request message
- Group response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.create
The equivalent REST API is:
POST /v1/groups (BODY: group)
POST /v1/{parent=projects/*}/groups
POST /v1/{parent=organizations/*}/groups
POST /v1/{parent=services/*}/groups
UpdateGroup Method
UpdateGroup
rpc UpdateGroup(UpdateGroupRequest) returns (Group)
with the following messages:
- UpdateGroupRequest request message
- Group response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.update
The equivalent REST API is:
PUT /v1/{group.name=groups/*} (BODY: group)
PUT /v1/{group.name=projects/*/groups/*}
PUT /v1/{group.name=organizations/*/groups/*}
PUT /v1/{group.name=services/*/groups/*}
DeleteGroup Method
DeleteGroup
rpc DeleteGroup(DeleteGroupRequest) returns (Empty)
with the following messages:
- DeleteGroupRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/groups.delete
The equivalent REST API is:
DELETE /v1/{name=groups/*}
DELETE /v1/{name=projects/*/groups/*}
DELETE /v1/{name=organizations/*/groups/*}
DELETE /v1/{name=services/*/groups/*}
Group Messages
Here is the list of Group resource messages:
- Group message
- GetGroupRequest message
- BatchGetGroupsRequest message
- BatchGetGroupsResponse message
- ListGroupsRequest message
- ListGroupsResponse message
- WatchGroupRequest message
- WatchGroupResponse message
- WatchGroupsRequest message
- WatchGroupsResponse message
- WatchGroupsResponse.PageTokenChange message
- CreateGroupRequest message
- CreateGroupRequest.ResponseMask message
- UpdateGroupRequest message
- UpdateGroupRequest.CAS message
- UpdateGroupRequest.ResponseMask message
- DeleteGroupRequest message
Group Message
Name | Type | Description |
---|---|---|
name | string (name of Group) | Name of Group When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
display_name | string | Display Name |
description | string | Optional. Description of the Group |
string | Unique email address for this [Group]. Generated based on its [name][ntt.iam.v1alpha2.Group.name] with following rules: 1. System group: {group_id}@groups.iam.edgelq.com 2. Organization group: {group_id}@{organization_id}.groups.iam.edgelq.com 3. Project group: {group_id}@{project_id}.groups.iam.edgelq.com This email can be used in [RoleBindings][ntt.iam.v1alpha2.RoleBinding.member] field. Note: Currently there is way to assign custom domain for [Organization] or [Project]. |
GetGroupRequest Message
A request message of the GetGroup method.
Name | Type | Description |
---|---|---|
name | string (name of Group) | Name of ntt.iam.v1.Group |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetGroupsRequest Message
A request message of the BatchGetGroups method.
Name | Type | Description |
---|---|---|
names | repeated string (name of Group) | Names of Groups |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetGroupsResponse Message
A response message of the BatchGetGroups method.
Name | Type | Description |
---|---|---|
groups | repeated Group | found Groups |
missing | repeated string (name of Group) | list of not found Groups |
ListGroupsRequest Message
A request message of the ListGroups method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Group) | Parent name of ntt.iam.v1.Group |
page_size | int32 | Requested page size. Server may return fewer Groups than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Group) | A token identifying a page of results the server should return. Typically, this is the value of ListGroupsResponse.next_page_token. |
order_by | string (orderBy of Group) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Group) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListGroupsResponse Message
A response message of the ListGroups method.
Name | Type | Description |
---|---|---|
groups | repeated Group | The list of Groups |
prev_page_token | string (cursor of Group) | A token to retrieve previous page of results. Pass this value in the ListGroupsRequest.page_token. |
next_page_token | string (cursor of Group) | A token to retrieve next page of results. Pass this value in the ListGroupsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Groups across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchGroupRequest Message
A request message of the WatchGroup method.
Name | Type | Description |
---|---|---|
name | string (name of Group) | Name of ntt.iam.v1.Group |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchGroupResponse Message
A response message of the WatchGroup method.
Name | Type | Description |
---|---|---|
change | GroupChange |
WatchGroupsRequest Message
A request message of the WatchGroups method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of Group) | Parent name of ntt.iam.v1.Group |
page_size | int32 | Requested page size. Server may return fewer Groups than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of Group) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of Group) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of Group) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Group that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Group that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchGroupsResponse Message
A response message of the WatchGroups method.
Name | Type | Description |
---|---|---|
group_changes | repeated GroupChange | Changes of Groups |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Groups will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchGroupsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Groups will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchGroupsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of Group) | New token to retrieve previous page of results. |
next_page_token | string (cursor of Group) | New token to retrieve next page of results. |
CreateGroupRequest Message
A request message of the CreateGroup method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Group) | Parent name of ntt.iam.v1.Group |
group | Group | Group resource body |
response_mask | CreateGroupRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateGroupRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateGroupRequest Message
A request message of the UpdateGroup method.
Name | Type | Description |
---|---|---|
group | Group | Group resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateGroupRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateGroupRequest.ResponseMask | reduce message response size. |
UpdateGroupRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | Group | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateGroupRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteGroupRequest Message
A request message of the DeleteGroup method.
Name | Type | Description |
---|---|---|
name | string (name of Group) | Name of ntt.iam.v1.Group |
GroupMember Resource
GroupMember Resource
Name patterns:
groups/{group}/groupMembers/{group_member}
projects/{project}/groups/{group}/groupMembers/{group_member}
organizations/{organization}/groups/{group}/groupMembers/{group_member}
services/{service}/groups/{group}/groupMembers/{group_member}
Parent resources:
This section covers the methods and messages to interact with GroupMember resource.
GroupMember Methods
Here is the list of GroupMember resource methods:
- GetGroupMember method
- BatchGetGroupMembers method
- ListGroupMembers method
- WatchGroupMember method
- WatchGroupMembers method
- CreateGroupMember method
- UpdateGroupMember method
- DeleteGroupMember method
- ListGroupMembersWithMembers method
GetGroupMember Method
GetGroupMember
rpc GetGroupMember(GetGroupMemberRequest) returns (GroupMember)
with the following messages:
- GetGroupMemberRequest request message
- GroupMember response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.get
The equivalent REST API is:
GET /v1/{name=groups/*/groupMembers/*}
GET /v1/{name=projects/*/groups/*/groupMembers/*}
GET /v1/{name=organizations/*/groups/*/groupMembers/*}
GET /v1/{name=services/*/groups/*/groupMembers/*}
BatchGetGroupMembers Method
BatchGetGroupMembers
rpc BatchGetGroupMembers(BatchGetGroupMembersRequest) returns (BatchGetGroupMembersResponse)
with the following messages:
- BatchGetGroupMembersRequest request message
- BatchGetGroupMembersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.batchGet
The equivalent REST API is:
GET /v1/groupMembers:batchGet
ListGroupMembers Method
ListGroupMembers
rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse)
with the following messages:
- ListGroupMembersRequest request message
- ListGroupMembersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.list
The equivalent REST API is:
GET /v1/{parent=groups/*}/groupMembers
GET /v1/{parent=projects/*/groups/*}/groupMembers
GET /v1/{parent=organizations/*/groups/*}/groupMembers
GET /v1/{parent=services/*/groups/*}/groupMembers
WatchGroupMember Method
WatchGroupMember
rpc WatchGroupMember(WatchGroupMemberRequest) returns (WatchGroupMemberResponse)
with the following messages:
- WatchGroupMemberRequest request message
- WatchGroupMemberResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.watch
The equivalent REST API is:
POST /v1/{name=groups/*/groupMembers/*}:watch
POST /v1/{name=projects/*/groups/*/groupMembers/*}:watch
POST /v1/{name=organizations/*/groups/*/groupMembers/*}:watch
POST /v1/{name=services/*/groups/*/groupMembers/*}:watch
WatchGroupMembers Method
WatchGroupMembers
rpc WatchGroupMembers(WatchGroupMembersRequest) returns (WatchGroupMembersResponse)
with the following messages:
- WatchGroupMembersRequest request message
- WatchGroupMembersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.watch
The equivalent REST API is:
POST /v1/{parent=groups/*}/groupMembers:watch
POST /v1/{parent=projects/*/groups/*}/groupMembers:watch
POST /v1/{parent=organizations/*/groups/*}/groupMembers:watch
POST /v1/{parent=services/*/groups/*}/groupMembers:watch
CreateGroupMember Method
CreateGroupMember
rpc CreateGroupMember(CreateGroupMemberRequest) returns (GroupMember)
with the following messages:
- CreateGroupMemberRequest request message
- GroupMember response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.create
The equivalent REST API is:
POST /v1/{parent=groups/*}/groupMembers (BODY: group_member)
POST /v1/{parent=projects/*/groups/*}/groupMembers
POST /v1/{parent=organizations/*/groups/*}/groupMembers
POST /v1/{parent=services/*/groups/*}/groupMembers
UpdateGroupMember Method
UpdateGroupMember
rpc UpdateGroupMember(UpdateGroupMemberRequest) returns (GroupMember)
with the following messages:
- UpdateGroupMemberRequest request message
- GroupMember response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.update
The equivalent REST API is:
PUT /v1/{group_member.name=groups/*/groupMembers/*} (BODY: group_member)
PUT /v1/{group_member.name=projects/*/groups/*/groupMembers/*}
PUT /v1/{group_member.name=organizations/*/groups/*/groupMembers/*}
PUT /v1/{group_member.name=services/*/groups/*/groupMembers/*}
DeleteGroupMember Method
DeleteGroupMember
rpc DeleteGroupMember(DeleteGroupMemberRequest) returns (Empty)
with the following messages:
- DeleteGroupMemberRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.delete
The equivalent REST API is:
DELETE /v1/{name=groups/*/groupMembers/*}
DELETE /v1/{name=projects/*/groups/*/groupMembers/*}
DELETE /v1/{name=organizations/*/groups/*/groupMembers/*}
DELETE /v1/{name=services/*/groups/*/groupMembers/*}
ListGroupMembersWithMembers Method
ListGroupMembersWithMembers
rpc ListGroupMembersWithMembers(ListGroupMembersWithMembersRequest) returns (ListGroupMembersWithMembersResponse)
with the following messages:
- ListGroupMembersWithMembersRequest request message
- ListGroupMembersWithMembersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/groupMembers.listGroupMembersWithMembers
The equivalent REST API is:
POST /v1/{parent=groups/*}/groupMembers:listGroupMembersWithMembers
POST /v1/{parent=projects/*/groups/*}/groupMembers:listGroupMembersWithMembers
POST /v1/{parent=organizations/*/groups/*}/groupMembers:listGroupMembersWithMembers
POST /v1/{parent=services/*/groups/*}/groupMembers:listGroupMembersWithMembers
GroupMember Messages
Here is the list of GroupMember resource messages:
- GroupMember message
- GetGroupMemberRequest message
- BatchGetGroupMembersRequest message
- BatchGetGroupMembersResponse message
- ListGroupMembersRequest message
- ListGroupMembersResponse message
- WatchGroupMemberRequest message
- WatchGroupMemberResponse message
- WatchGroupMembersRequest message
- WatchGroupMembersResponse message
- WatchGroupMembersResponse.PageTokenChange message
- CreateGroupMemberRequest message
- CreateGroupMemberRequest.ResponseMask message
- UpdateGroupMemberRequest message
- UpdateGroupMemberRequest.CAS message
- UpdateGroupMemberRequest.ResponseMask message
- DeleteGroupMemberRequest message
- ListGroupMembersWithMembersRequest message
- ListGroupMembersWithMembersResponse message
GroupMember Message
Name | Type | Description |
---|---|---|
name | string (name of GroupMember) | Name of GroupMember When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
member | string | Format of the string is one of: - “allUsers” (anyone) - “allAuthenticatedUsers” (anyone logged in) - “user:admin.super@example.com” - “serviceAccount:device_agent@watchdog.serviceaccounts.iam.edgelq.com” - “group:nice.group@example.com” |
parent_member | string | Internal field used by the IAM controller to know member ID (email) of a group this member belongs to. |
min_ancestry_members | repeated string | Internal field used the IAM controller to know common ancestors if this group member is actually a copy from another group, which can happen if group is member in another group. List contains member IDs of other groups. Last element is always pointing to the group which made an actual copy and is responsible for deletion when needed. If particular group member is copied multiple times (which also can happen if group is indirect member via multiple memberships) then this field contains list only of common ancestors. This field has purpose of indicating owner (last item in this list) and to break cycles (previous elements). List is always empty if this group member is DIRECT member of this group and controller cannot modify it. |
GetGroupMemberRequest Message
A request message of the GetGroupMember method.
Name | Type | Description |
---|---|---|
name | string (name of GroupMember) | Name of ntt.iam.v1.GroupMember |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetGroupMembersRequest Message
A request message of the BatchGetGroupMembers method.
Name | Type | Description |
---|---|---|
names | repeated string (name of GroupMember) | Names of GroupMembers |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetGroupMembersResponse Message
A response message of the BatchGetGroupMembers method.
Name | Type | Description |
---|---|---|
group_members | repeated GroupMember | found GroupMembers |
missing | repeated string (name of GroupMember) | list of not found GroupMembers |
ListGroupMembersRequest Message
A request message of the ListGroupMembers method.
Name | Type | Description |
---|---|---|
parent | string (parent name of GroupMember) | Parent name of ntt.iam.v1.GroupMember |
page_size | int32 | Requested page size. Server may return fewer GroupMembers than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of GroupMember) | A token identifying a page of results the server should return. Typically, this is the value of ListGroupMembersResponse.next_page_token. |
order_by | string (orderBy of GroupMember) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of GroupMember) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListGroupMembersResponse Message
A response message of the ListGroupMembers method.
Name | Type | Description |
---|---|---|
group_members | repeated GroupMember | The list of GroupMembers |
prev_page_token | string (cursor of GroupMember) | A token to retrieve previous page of results. Pass this value in the ListGroupMembersRequest.page_token. |
next_page_token | string (cursor of GroupMember) | A token to retrieve next page of results. Pass this value in the ListGroupMembersRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total GroupMembers across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchGroupMemberRequest Message
A request message of the WatchGroupMember method.
Name | Type | Description |
---|---|---|
name | string (name of GroupMember) | Name of ntt.iam.v1.GroupMember |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchGroupMemberResponse Message
A response message of the WatchGroupMember method.
Name | Type | Description |
---|---|---|
change | GroupMemberChange |
WatchGroupMembersRequest Message
A request message of the WatchGroupMembers method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of GroupMember) | Parent name of ntt.iam.v1.GroupMember |
page_size | int32 | Requested page size. Server may return fewer GroupMembers than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of GroupMember) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of GroupMember) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of GroupMember) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to GroupMember that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to GroupMember that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchGroupMembersResponse Message
A response message of the WatchGroupMembers method.
Name | Type | Description |
---|---|---|
group_member_changes | repeated GroupMemberChange | Changes of GroupMembers |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All GroupMembers will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchGroupMembersResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (GroupMembers will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchGroupMembersResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of GroupMember) | New token to retrieve previous page of results. |
next_page_token | string (cursor of GroupMember) | New token to retrieve next page of results. |
CreateGroupMemberRequest Message
A request message of the CreateGroupMember method.
Name | Type | Description |
---|---|---|
parent | string (parent name of GroupMember) | Parent name of ntt.iam.v1.GroupMember |
group_member | GroupMember | GroupMember resource body |
response_mask | CreateGroupMemberRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateGroupMemberRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateGroupMemberRequest Message
A request message of the UpdateGroupMember method.
Name | Type | Description |
---|---|---|
group_member | GroupMember | GroupMember resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateGroupMemberRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateGroupMemberRequest.ResponseMask | reduce message response size. |
UpdateGroupMemberRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | GroupMember | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateGroupMemberRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteGroupMemberRequest Message
A request message of the DeleteGroupMember method.
Name | Type | Description |
---|---|---|
name | string (name of GroupMember) | Name of ntt.iam.v1.GroupMember |
ListGroupMembersWithMembersRequest Message
A request message of the ListGroupMembersWithMembers method.
Name | Type | Description |
---|---|---|
parent | string (parent name of GroupMember) | Parent name of ntt.iam.v1.GroupMember |
page_size | int32 | Requested page size. Server may return fewer GroupMembers than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of GroupMember) | A token identifying a page of results the server should return. Typically, this is the value of ListGroupMembersWithMembersResponse.next_page_token. |
order_by | string (orderBy of GroupMember) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of GroupMember) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask and user_mask. |
members_masks | MembersMasks | Defines field masks applied to member resources (Users, Service accounts, Groups). |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListGroupMembersWithMembersResponse Message
A response message of the ListGroupMembersWithMembers method.
Name | Type | Description |
---|---|---|
group_members | repeated GroupMember | The list of GroupMembers |
matching_members | repeated MembersInfo | List of matching members per each received group member. |
prev_page_token | string (cursor of GroupMember) | A token to retrieve previous page of results. Pass this value in the ListGroupMembersWithMembersRequest.page_token. |
next_page_token | string (cursor of GroupMember) | A token to retrieve next page of results. Pass this value in the ListGroupMembersWithMembersRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total GroupMembers across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
MemberAssignment Resource
MemberAssignment - it is an internal resource, not for end users. It tracks REGIONAL RoleBindings per combination of scope/member for organization and project RoleBindings.
If multiple RoleBindings point to same project/org and member, they will all share single MemberAssignment.
MemberAssignment are managed by IAM Server, they are created/updated/deleted in TX when RoleBinding is created/updated/deleted. MemberAssignment shares same region as RoleBinding, otherwise tx-level synchronization would not be possible.
For example: We create RoleBinding { project = “X”, member = “M”, role = “r1”}. It will create MemberAssignment { scope = “projects/x”, member = “M” }. If another RoleBinding with same project and member would be created, then no additional MemberAssignment is created. When last RoleBinding per scope/member is deleted, MemberAssignment is deleted.
Not all RoleBindings however have MemberAssignment instances. We track only organization and project RoleBindings! Therefore, system and service RoleBindings don’t get their MemberAssignment. However, there is some caveat about this…
When lets say project enables Service “S”, and we create RoleBinding WHERE: {project = “X”, member = “M”, role = “r1”, metadata.services.allowedServices CONTAINS “S”}, then special MemberAssignment is created with params: { scope = “services/S”, member = “M” }, apart of { scope = “projects/x”, member = “M” } mentioned previously. We create those service MemberAssignment only for 3rd party services (non core EdgeLQ), so we know if User/ServiceAccount is eligible user of some service.
Main task of MemberAssignment is to track participations of all users/service accounts in projects/organizations. We use it for things like ListMyProjects, ListMyOrganizations. We also use those special service MemberAssignment instances to track who is using Service by proxy of Project/Organization! With this we can forbid/allow specific users using particular service.
System RoleBindings are managed only by EdgeLQ admins for internal cases, and we dont need this tracking.
Name patterns:
regions/{region}/memberAssignments/{member_assignment}
This section covers the methods and messages to interact with MemberAssignment resource.
MemberAssignment Methods
Here is the list of MemberAssignment resource methods:
- GetMemberAssignment method
- BatchGetMemberAssignments method
- ListMemberAssignments method
- WatchMemberAssignment method
- WatchMemberAssignments method
- UpdateMemberAssignment method
- DeleteMemberAssignment method
- SearchMemberAssignments method
GetMemberAssignment Method
GetMemberAssignment
rpc GetMemberAssignment(GetMemberAssignmentRequest) returns (MemberAssignment)
with the following messages:
- GetMemberAssignmentRequest request message
- MemberAssignment response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.get
The equivalent REST API is:
GET /v1/{name=regions/*/memberAssignments/*}
BatchGetMemberAssignments Method
BatchGetMemberAssignments
rpc BatchGetMemberAssignments(BatchGetMemberAssignmentsRequest) returns (BatchGetMemberAssignmentsResponse)
with the following messages:
- BatchGetMemberAssignmentsRequest request message
- BatchGetMemberAssignmentsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.batchGet
The equivalent REST API is:
GET /v1/memberAssignments:batchGet
ListMemberAssignments Method
ListMemberAssignments
rpc ListMemberAssignments(ListMemberAssignmentsRequest) returns (ListMemberAssignmentsResponse)
with the following messages:
- ListMemberAssignmentsRequest request message
- ListMemberAssignmentsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.list
The equivalent REST API is:
GET /v1/{parent=regions/*}/memberAssignments
WatchMemberAssignment Method
WatchMemberAssignment
rpc WatchMemberAssignment(WatchMemberAssignmentRequest) returns (WatchMemberAssignmentResponse)
with the following messages:
- WatchMemberAssignmentRequest request message
- WatchMemberAssignmentResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.watch
The equivalent REST API is:
POST /v1/{name=regions/*/memberAssignments/*}:watch
WatchMemberAssignments Method
WatchMemberAssignments
rpc WatchMemberAssignments(WatchMemberAssignmentsRequest) returns (WatchMemberAssignmentsResponse)
with the following messages:
- WatchMemberAssignmentsRequest request message
- WatchMemberAssignmentsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.watch
The equivalent REST API is:
POST /v1/{parent=regions/*}/memberAssignments:watch
UpdateMemberAssignment Method
UpdateMemberAssignment
rpc UpdateMemberAssignment(UpdateMemberAssignmentRequest) returns (MemberAssignment)
with the following messages:
- UpdateMemberAssignmentRequest request message
- MemberAssignment response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.update
The equivalent REST API is:
PUT /v1/{member_assignment.name=regions/*/memberAssignments/*} (BODY: member_assignment)
DeleteMemberAssignment Method
DeleteMemberAssignment
rpc DeleteMemberAssignment(DeleteMemberAssignmentRequest) returns (Empty)
with the following messages:
- DeleteMemberAssignmentRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.delete
The equivalent REST API is:
DELETE /v1/{name=regions/*/memberAssignments/*}
SearchMemberAssignments Method
SearchMemberAssignments
rpc SearchMemberAssignments(SearchMemberAssignmentsRequest) returns (SearchMemberAssignmentsResponse)
with the following messages:
- SearchMemberAssignmentsRequest request message
- SearchMemberAssignmentsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/memberAssignments.search
The equivalent REST API is:
GET /v1/{parent=regions/*}/memberAssignments:search
MemberAssignment Messages
Here is the list of MemberAssignment resource messages:
- MemberAssignment message
- MemberAssignment.WorkStatus message
- GetMemberAssignmentRequest message
- BatchGetMemberAssignmentsRequest message
- BatchGetMemberAssignmentsResponse message
- ListMemberAssignmentsRequest message
- ListMemberAssignmentsResponse message
- WatchMemberAssignmentRequest message
- WatchMemberAssignmentResponse message
- WatchMemberAssignmentsRequest message
- WatchMemberAssignmentsResponse message
- WatchMemberAssignmentsResponse.PageTokenChange message
- UpdateMemberAssignmentRequest message
- UpdateMemberAssignmentRequest.CAS message
- UpdateMemberAssignmentRequest.ResponseMask message
- DeleteMemberAssignmentRequest message
- SearchMemberAssignmentsRequest message
- SearchMemberAssignmentsResponse message
MemberAssignment Message
Name | Type | Description |
---|---|---|
name | string (name of MemberAssignment) | Name of MemberAssignment First letter is source indicator (p, o, s for project, org, service). Then we have proper scope identifier (projectId etc), then member identifier (like user:$EMAIL). |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
scope | string (parent name of RoleBinding) | Points to Organization/Project of RoleBindings, OR service for those special MemberAssignments. It is already part of name, but we track in field for filter purpose. |
scope_title | string | Populated for organization/project scopes. Skipped for service ones. |
parent_organization | string (name of Organization) | Populated for organization/project scopes. Skipped for service ones. |
scope_metadata | Meta | It has PARTIAL metadata inherited from scope (labels, annotations, tags). Populated for organization/project scopes. Skipped for service ones. |
multi_region_control_region | string | Populated for organization/project scopes. Skipped for service ones. Contains multi_region_policy.default_control_region |
multi_region_enabled_regions | repeated string | Populated for organization/project scopes. Skipped for service ones. Contains multi_region_policy.enabled_regions |
scope_services | repeated string (name of Service) | Populated for organization/project scopes. Skipped for service ones. Contains allowed or enabled services. |
business_tier | BusinessTier | Populated for organization/project scopes. Skipped for service ones. |
member | string | Member pointed by RoleBinding. Part of name, but we also need for filtering purposes. |
member_region | string | Region ID holding member resource (User, ServiceAccount…) |
ctrl_status | MemberAssignment.WorkStatus |
MemberAssignment.WorkStatus Message
Name | Type | Description |
---|---|---|
pending | bool | if controller has some work on this resource |
pending_deletion | bool | If this resource should be deleted. |
GetMemberAssignmentRequest Message
A request message of the GetMemberAssignment method.
Name | Type | Description |
---|---|---|
name | string (name of MemberAssignment) | Name of ntt.iam.v1.MemberAssignment |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetMemberAssignmentsRequest Message
A request message of the BatchGetMemberAssignments method.
Name | Type | Description |
---|---|---|
names | repeated string (name of MemberAssignment) | Names of MemberAssignments |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetMemberAssignmentsResponse Message
A response message of the BatchGetMemberAssignments method.
Name | Type | Description |
---|---|---|
member_assignments | repeated MemberAssignment | found MemberAssignments |
missing | repeated string (name of MemberAssignment) | list of not found MemberAssignments |
ListMemberAssignmentsRequest Message
A request message of the ListMemberAssignments method.
Name | Type | Description |
---|---|---|
parent | string (parent name of MemberAssignment) | Parent name of ntt.iam.v1.MemberAssignment |
page_size | int32 | Requested page size. Server may return fewer MemberAssignments than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of MemberAssignment) | A token identifying a page of results the server should return. Typically, this is the value of ListMemberAssignmentsResponse.next_page_token. |
order_by | string (orderBy of MemberAssignment) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of MemberAssignment) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListMemberAssignmentsResponse Message
A response message of the ListMemberAssignments method.
Name | Type | Description |
---|---|---|
member_assignments | repeated MemberAssignment | The list of MemberAssignments |
prev_page_token | string (cursor of MemberAssignment) | A token to retrieve previous page of results. Pass this value in the ListMemberAssignmentsRequest.page_token. |
next_page_token | string (cursor of MemberAssignment) | A token to retrieve next page of results. Pass this value in the ListMemberAssignmentsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total MemberAssignments across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchMemberAssignmentRequest Message
A request message of the WatchMemberAssignment method.
Name | Type | Description |
---|---|---|
name | string (name of MemberAssignment) | Name of ntt.iam.v1.MemberAssignment |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchMemberAssignmentResponse Message
A response message of the WatchMemberAssignment method.
Name | Type | Description |
---|---|---|
change | MemberAssignmentChange |
WatchMemberAssignmentsRequest Message
A request message of the WatchMemberAssignments method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of MemberAssignment) | Parent name of ntt.iam.v1.MemberAssignment |
page_size | int32 | Requested page size. Server may return fewer MemberAssignments than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of MemberAssignment) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of MemberAssignment) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of MemberAssignment) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to MemberAssignment that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to MemberAssignment that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchMemberAssignmentsResponse Message
A response message of the WatchMemberAssignments method.
Name | Type | Description |
---|---|---|
member_assignment_changes | repeated MemberAssignmentChange | Changes of MemberAssignments |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All MemberAssignments will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchMemberAssignmentsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (MemberAssignments will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchMemberAssignmentsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of MemberAssignment) | New token to retrieve previous page of results. |
next_page_token | string (cursor of MemberAssignment) | New token to retrieve next page of results. |
UpdateMemberAssignmentRequest Message
A request message of the UpdateMemberAssignment method.
Name | Type | Description |
---|---|---|
member_assignment | MemberAssignment | MemberAssignment resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateMemberAssignmentRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
response_mask | UpdateMemberAssignmentRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
UpdateMemberAssignmentRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | MemberAssignment | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateMemberAssignmentRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteMemberAssignmentRequest Message
A request message of the DeleteMemberAssignment method.
Name | Type | Description |
---|---|---|
name | string (name of MemberAssignment) | Name of ntt.iam.v1.MemberAssignment |
SearchMemberAssignmentsRequest Message
A request message of the SearchMemberAssignments method.
Name | Type | Description |
---|---|---|
parent | string (parent name of MemberAssignment) | Parent name of ntt.iam.v1.MemberAssignment |
page_size | int32 | Requested page size. Server may return fewer MemberAssignments than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of MemberAssignment) | A token identifying a page of results the server should return. Typically, this is the value of SearchMemberAssignmentsResponse.next_page_token. |
order_by | string (orderBy of MemberAssignment) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of MemberAssignment) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
phrase | string | Optional search phrase used to further filter results. |
SearchMemberAssignmentsResponse Message
A response message of the SearchMemberAssignments method.
Name | Type | Description |
---|---|---|
member_assignments | repeated MemberAssignment | The list of MemberAssignments |
prev_page_token | string (cursor of MemberAssignment) | A token to retrieve previous page of results. Pass this value in the SearchMemberAssignmentsRequest.page_token. |
next_page_token | string (cursor of MemberAssignment) | A token to retrieve next page of results. Pass this value in the SearchMemberAssignmentsRequest.page_token. |
current_offset | int32 | Current offset from the first page (0 if no page tokens were given). Page index can be computed from offset and limit provided in a request |
total_results_count | int32 | Number of total MemberAssignments across all pages. |
Organization Resource
Organization Resource
Name patterns:
organizations/{organization}
This section covers the methods and messages to interact with Organization resource.
Organization Methods
Here is the list of Organization resource methods:
- GetOrganization method
- BatchGetOrganizations method
- ListOrganizations method
- WatchOrganization method
- WatchOrganizations method
- CreateOrganization method
- UpdateOrganization method
- DeleteOrganization method
- SearchOrganizations method
- ListMyOrganizations method
- SearchMyOrganizations method
GetOrganization Method
GetOrganization
rpc GetOrganization(GetOrganizationRequest) returns (Organization)
with the following messages:
- GetOrganizationRequest request message
- Organization response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.get
The equivalent REST API is:
GET /v1/{name=organizations/*}
BatchGetOrganizations Method
BatchGetOrganizations
rpc BatchGetOrganizations(BatchGetOrganizationsRequest) returns (BatchGetOrganizationsResponse)
with the following messages:
- BatchGetOrganizationsRequest request message
- BatchGetOrganizationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.batchGet
The equivalent REST API is:
GET /v1/organizations:batchGet
ListOrganizations Method
ListOrganizations
rpc ListOrganizations(ListOrganizationsRequest) returns (ListOrganizationsResponse)
with the following messages:
- ListOrganizationsRequest request message
- ListOrganizationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.list
The equivalent REST API is:
GET /v1/organizations
WatchOrganization Method
WatchOrganization
rpc WatchOrganization(WatchOrganizationRequest) returns (WatchOrganizationResponse)
with the following messages:
- WatchOrganizationRequest request message
- WatchOrganizationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.watch
The equivalent REST API is:
POST /v1/{name=organizations/*}:watch
WatchOrganizations Method
WatchOrganizations
rpc WatchOrganizations(WatchOrganizationsRequest) returns (WatchOrganizationsResponse)
with the following messages:
- WatchOrganizationsRequest request message
- WatchOrganizationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.watch
The equivalent REST API is:
POST /v1/organizations:watch
CreateOrganization Method
CreateOrganization
rpc CreateOrganization(CreateOrganizationRequest) returns (Organization)
with the following messages:
- CreateOrganizationRequest request message
- Organization response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.create
The equivalent REST API is:
POST /v1/organizations (BODY: organization)
UpdateOrganization Method
UpdateOrganization
rpc UpdateOrganization(UpdateOrganizationRequest) returns (Organization)
with the following messages:
- UpdateOrganizationRequest request message
- Organization response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.update
The equivalent REST API is:
PUT /v1/{organization.name=organizations/*} (BODY: organization)
DeleteOrganization Method
DeleteOrganization
rpc DeleteOrganization(DeleteOrganizationRequest) returns (Empty)
with the following messages:
- DeleteOrganizationRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.delete
The equivalent REST API is:
DELETE /v1/{name=organizations/*}
SearchOrganizations Method
SearchOrganizations
rpc SearchOrganizations(SearchOrganizationsRequest) returns (SearchOrganizationsResponse)
with the following messages:
- SearchOrganizationsRequest request message
- SearchOrganizationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.search
The equivalent REST API is:
GET /v1/organizations:search
ListMyOrganizations Method
ListMyOrganizations
rpc ListMyOrganizations(ListMyOrganizationsRequest) returns (ListMyOrganizationsResponse)
with the following messages:
- ListMyOrganizationsRequest request message
- ListMyOrganizationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.listMy
The equivalent REST API is:
POST /v1/organizations:listMy
SearchMyOrganizations Method
SearchMyOrganizations
rpc SearchMyOrganizations(SearchMyOrganizationsRequest) returns (SearchMyOrganizationsResponse)
with the following messages:
- SearchMyOrganizationsRequest request message
- SearchMyOrganizationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizations.searchMy
The equivalent REST API is:
POST /v1/organizations:searchMy
Organization Messages
Here is the list of Organization resource messages:
- Organization message
- GetOrganizationRequest message
- BatchGetOrganizationsRequest message
- BatchGetOrganizationsResponse message
- ListOrganizationsRequest message
- ListOrganizationsResponse message
- WatchOrganizationRequest message
- WatchOrganizationResponse message
- WatchOrganizationsRequest message
- WatchOrganizationsResponse message
- WatchOrganizationsResponse.PageTokenChange message
- CreateOrganizationRequest message
- CreateOrganizationRequest.ResponseMask message
- UpdateOrganizationRequest message
- UpdateOrganizationRequest.CAS message
- UpdateOrganizationRequest.ResponseMask message
- DeleteOrganizationRequest message
- SearchOrganizationsRequest message
- SearchOrganizationsResponse message
- ListMyOrganizationsRequest message
- ListMyOrganizationsResponse message
- SearchMyOrganizationsRequest message
- SearchMyOrganizationsResponse message
Organization Message
Name | Type | Description |
---|---|---|
name | string (name of Organization) | Name of Organization When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
title | string | Official Name of Organization |
description | string | Optional. Description of Organization. |
parent_organization | string (reference to Organization) | Parent organization |
multi_region_policy | MultiRegionPolicy | Multi region policy for child resources |
allowed_services | repeated string (reference to Service) | Allowed services for child organizations and projects. This field is checked only for non-core edgelq services. |
business_tier | BusinessTier | Business tier applicable for all allowed services. This value defines: * Default business tier for child projects (if not defined on creation) * Default business tier to this organization. |
service_tiers | repeated ServiceBusinessTier | Overwrites business_tier for each service - it may also override value for a core EdgeLQ service. |
root_organization | string (name of Organization) | Top parent (internal) |
ancestry_path | repeated string (name of Organization) | Full ancestry path (internal) |
service_errors | map<string, ServiceErrors> | Service errors reported for this organization by category |
services_generation | int64 | Internal field for services meta information synchronization |
GetOrganizationRequest Message
A request message of the GetOrganization method.
Name | Type | Description |
---|---|---|
name | string (name of Organization) | Name of ntt.iam.v1.Organization |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetOrganizationsRequest Message
A request message of the BatchGetOrganizations method.
Name | Type | Description |
---|---|---|
names | repeated string (name of Organization) | Names of Organizations |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetOrganizationsResponse Message
A response message of the BatchGetOrganizations method.
Name | Type | Description |
---|---|---|
organizations | repeated Organization | found Organizations |
missing | repeated string (name of Organization) | list of not found Organizations |
ListOrganizationsRequest Message
A request message of the ListOrganizations method.
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Organizations than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Organization) | A token identifying a page of results the server should return. Typically, this is the value of ListOrganizationsResponse.next_page_token. |
order_by | string (orderBy of Organization) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Organization) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListOrganizationsResponse Message
A response message of the ListOrganizations method.
Name | Type | Description |
---|---|---|
organizations | repeated Organization | The list of Organizations |
prev_page_token | string (cursor of Organization) | A token to retrieve previous page of results. Pass this value in the ListOrganizationsRequest.page_token. |
next_page_token | string (cursor of Organization) | A token to retrieve next page of results. Pass this value in the ListOrganizationsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Organizations across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchOrganizationRequest Message
A request message of the WatchOrganization method.
Name | Type | Description |
---|---|---|
name | string (name of Organization) | Name of ntt.iam.v1.Organization |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchOrganizationResponse Message
A response message of the WatchOrganization method.
Name | Type | Description |
---|---|---|
change | OrganizationChange |
WatchOrganizationsRequest Message
A request message of the WatchOrganizations method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
page_size | int32 | Requested page size. Server may return fewer Organizations than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of Organization) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of Organization) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of Organization) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Organization that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Organization that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchOrganizationsResponse Message
A response message of the WatchOrganizations method.
Name | Type | Description |
---|---|---|
organization_changes | repeated OrganizationChange | Changes of Organizations |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Organizations will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchOrganizationsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Organizations will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchOrganizationsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of Organization) | New token to retrieve previous page of results. |
next_page_token | string (cursor of Organization) | New token to retrieve next page of results. |
CreateOrganizationRequest Message
A request message of the CreateOrganization method.
Name | Type | Description |
---|---|---|
organization | Organization | Organization resource body |
response_mask | CreateOrganizationRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateOrganizationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateOrganizationRequest Message
A request message of the UpdateOrganization method.
Name | Type | Description |
---|---|---|
organization | Organization | Organization resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateOrganizationRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateOrganizationRequest.ResponseMask | reduce message response size. |
UpdateOrganizationRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | Organization | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateOrganizationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteOrganizationRequest Message
A request message of the DeleteOrganization method.
Name | Type | Description |
---|---|---|
name | string (name of Organization) | Name of ntt.iam.v1.Organization |
SearchOrganizationsRequest Message
A request message of the SearchOrganizations method.
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Organizations than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Organization) | A token identifying a page of results the server should return. Typically, this is the value of SearchOrganizationsResponse.next_page_token. |
order_by | string (orderBy of Organization) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Organization) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
phrase | string | Optional search phrase used to further filter results. |
SearchOrganizationsResponse Message
A response message of the SearchOrganizations method.
Name | Type | Description |
---|---|---|
organizations | repeated Organization | The list of Organizations |
prev_page_token | string (cursor of Organization) | A token to retrieve previous page of results. Pass this value in the SearchOrganizationsRequest.page_token. |
next_page_token | string (cursor of Organization) | A token to retrieve next page of results. Pass this value in the SearchOrganizationsRequest.page_token. |
current_offset | int32 | Current offset from the first page (0 if no page tokens were given). Page index can be computed from offset and limit provided in a request |
total_results_count | int32 | Number of total Organizations across all pages. |
ListMyOrganizationsRequest Message
Request message for method [ListMyOrganizations][ntt.iam.v1.ListMyOrganizations]
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Organizations than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Organization) | A token identifying a page of results the server should return. Typically, this is the value of [ListOrganizationsResponse.next_page_token][ntt.iam.v1alpha2.ListOrganizationsResponse.next_page_token] |
order_by | string (orderBy of Organization) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Organization) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A FieldMask used to filter response fields. When present, only requested fields will be present in each response item. Omitting field_mask results will cause response items to contain all present fields. |
include_paging_info | bool |
ListMyOrganizationsResponse Message
Response message for method [ListMyOrganizations][ntt.iam.v1.ListMyOrganizations]
Name | Type | Description |
---|---|---|
organizations | repeated Organization | The list of Organizations |
prev_page_token | string (cursor of Organization) | A token to retrieve previous page of results. Pass this value in the [ListOrganizationsRequest.page_token][ntt.iam.v1alpha2.ListOrganizationsRequest.page_token] |
next_page_token | string (cursor of Organization) | A token to retrieve next page of results. Pass this value in the [ListOrganizationsRequest.page_token][ntt.iam.v1alpha2.ListOrganizationsRequest.page_token] |
total_count | int32 | |
cursor_offset | int32 |
SearchMyOrganizationsRequest Message
Request message for method [SearchMyOrganizations][ntt.iam.v1.SearchMyOrganizations]
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Organizations than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Organization) | A token identifying a page of results the server should return. Typically, this is the value of [SearchOrganizationsResponse.next_page_token][ntt.iam.v1alpha2.SearchOrganizationsResponse.next_page_token] |
order_by | string (orderBy of Organization) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Organization) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A FieldMask used to filter response fields. When present, only requested fields will be present in each response item. Omitting field_mask results will cause response items to contain all present fields. |
include_paging_info | bool | |
phrase | string |
SearchMyOrganizationsResponse Message
Response message for method [SearchMyOrganizations][ntt.iam.v1.SearchMyOrganizations]
Name | Type | Description |
---|---|---|
organizations | repeated Organization | The list of Organizations |
prev_page_token | string (cursor of Organization) | A token to retrieve previous page of results. Pass this value in the [SearchOrganizationsRequest.page_token][ntt.iam.v1alpha2.SearchOrganizationsRequest.page_token] |
next_page_token | string (cursor of Organization) | A token to retrieve next page of results. Pass this value in the [SearchOrganizationsRequest.page_token][ntt.iam.v1alpha2.SearchOrganizationsRequest.page_token] |
total_count | int32 | |
cursor_offset | int32 |
OrganizationInvitation Resource
OrganizationInvitation Resource
Name patterns:
organizations/{organization}/organizationInvitations/{organization_invitation}
Parent resources:
This section covers the methods and messages to interact with OrganizationInvitation resource.
OrganizationInvitation Methods
Here is the list of OrganizationInvitation resource methods:
- GetOrganizationInvitation method
- BatchGetOrganizationInvitations method
- ListOrganizationInvitations method
- WatchOrganizationInvitation method
- WatchOrganizationInvitations method
- CreateOrganizationInvitation method
- UpdateOrganizationInvitation method
- DeleteOrganizationInvitation method
- AcceptOrganizationInvitation method
- DeclineOrganizationInvitation method
- ListMyOrganizationInvitations method
GetOrganizationInvitation Method
GetOrganizationInvitation
rpc GetOrganizationInvitation(GetOrganizationInvitationRequest) returns (OrganizationInvitation)
with the following messages:
- GetOrganizationInvitationRequest request message
- OrganizationInvitation response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.get
The equivalent REST API is:
GET /v1/{name=organizations/*/organizationInvitations/*}
BatchGetOrganizationInvitations Method
BatchGetOrganizationInvitations
rpc BatchGetOrganizationInvitations(BatchGetOrganizationInvitationsRequest) returns (BatchGetOrganizationInvitationsResponse)
with the following messages:
- BatchGetOrganizationInvitationsRequest request message
- BatchGetOrganizationInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.batchGet
The equivalent REST API is:
GET /v1/organizationInvitations:batchGet
ListOrganizationInvitations Method
ListOrganizationInvitations
rpc ListOrganizationInvitations(ListOrganizationInvitationsRequest) returns (ListOrganizationInvitationsResponse)
with the following messages:
- ListOrganizationInvitationsRequest request message
- ListOrganizationInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.list
The equivalent REST API is:
GET /v1/{parent=organizations/*}/organizationInvitations
WatchOrganizationInvitation Method
WatchOrganizationInvitation
rpc WatchOrganizationInvitation(WatchOrganizationInvitationRequest) returns (WatchOrganizationInvitationResponse)
with the following messages:
- WatchOrganizationInvitationRequest request message
- WatchOrganizationInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.watch
The equivalent REST API is:
POST /v1/{name=organizations/*/organizationInvitations/*}:watch
WatchOrganizationInvitations Method
WatchOrganizationInvitations
rpc WatchOrganizationInvitations(WatchOrganizationInvitationsRequest) returns (WatchOrganizationInvitationsResponse)
with the following messages:
- WatchOrganizationInvitationsRequest request message
- WatchOrganizationInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.watch
The equivalent REST API is:
POST /v1/{parent=organizations/*}/organizationInvitations:watch
CreateOrganizationInvitation Method
CreateOrganizationInvitation
rpc CreateOrganizationInvitation(CreateOrganizationInvitationRequest) returns (OrganizationInvitation)
with the following messages:
- CreateOrganizationInvitationRequest request message
- OrganizationInvitation response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.create
The equivalent REST API is:
POST /v1/{parent=organizations/*}/organizationInvitations (BODY: organization_invitation)
UpdateOrganizationInvitation Method
UpdateOrganizationInvitation
rpc UpdateOrganizationInvitation(UpdateOrganizationInvitationRequest) returns (OrganizationInvitation)
with the following messages:
- UpdateOrganizationInvitationRequest request message
- OrganizationInvitation response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.update
The equivalent REST API is:
PUT /v1/{organization_invitation.name=organizations/*/organizationInvitations/*} (BODY: organization_invitation)
DeleteOrganizationInvitation Method
DeleteOrganizationInvitation
rpc DeleteOrganizationInvitation(DeleteOrganizationInvitationRequest) returns (Empty)
with the following messages:
- DeleteOrganizationInvitationRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.delete
The equivalent REST API is:
DELETE /v1/{name=organizations/*/organizationInvitations/*}
AcceptOrganizationInvitation Method
AcceptOrganizationInvitation
rpc AcceptOrganizationInvitation(AcceptOrganizationInvitationRequest) returns (AcceptOrganizationInvitationResponse)
with the following messages:
- AcceptOrganizationInvitationRequest request message
- AcceptOrganizationInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.accept
The equivalent REST API is:
POST /v1/{name=organizations/*/organizationInvitations/*}:accept
DeclineOrganizationInvitation Method
DeclineOrganizationInvitation
rpc DeclineOrganizationInvitation(DeclineOrganizationInvitationRequest) returns (DeclineOrganizationInvitationResponse)
with the following messages:
- DeclineOrganizationInvitationRequest request message
- DeclineOrganizationInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.decline
The equivalent REST API is:
POST /v1/{name=organizations/*/organizationInvitations/*}:decline
ListMyOrganizationInvitations Method
ListMyOrganizationInvitations
rpc ListMyOrganizationInvitations(ListMyOrganizationInvitationsRequest) returns (ListMyOrganizationInvitationsResponse)
with the following messages:
- ListMyOrganizationInvitationsRequest request message
- ListMyOrganizationInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/organizationInvitations.listMy
The equivalent REST API is:
POST /v1/{parent=organizations/*}/organizationInvitations:listMy
OrganizationInvitation Messages
Here is the list of OrganizationInvitation resource messages:
- OrganizationInvitation message
- GetOrganizationInvitationRequest message
- BatchGetOrganizationInvitationsRequest message
- BatchGetOrganizationInvitationsResponse message
- ListOrganizationInvitationsRequest message
- ListOrganizationInvitationsResponse message
- WatchOrganizationInvitationRequest message
- WatchOrganizationInvitationResponse message
- WatchOrganizationInvitationsRequest message
- WatchOrganizationInvitationsResponse message
- WatchOrganizationInvitationsResponse.PageTokenChange message
- CreateOrganizationInvitationRequest message
- CreateOrganizationInvitationRequest.ResponseMask message
- UpdateOrganizationInvitationRequest message
- UpdateOrganizationInvitationRequest.CAS message
- UpdateOrganizationInvitationRequest.ResponseMask message
- DeleteOrganizationInvitationRequest message
- AcceptOrganizationInvitationRequest message
- AcceptOrganizationInvitationResponse message
- DeclineOrganizationInvitationRequest message
- DeclineOrganizationInvitationResponse message
- ListMyOrganizationInvitationsRequest message
- ListMyOrganizationInvitationsResponse message
OrganizationInvitation Message
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | Name of OrganizationInvitation When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
invitation | Invitation |
GetOrganizationInvitationRequest Message
A request message of the GetOrganizationInvitation method.
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | Name of ntt.iam.v1.OrganizationInvitation |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetOrganizationInvitationsRequest Message
A request message of the BatchGetOrganizationInvitations method.
Name | Type | Description |
---|---|---|
names | repeated string (name of OrganizationInvitation) | Names of OrganizationInvitations |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetOrganizationInvitationsResponse Message
A response message of the BatchGetOrganizationInvitations method.
Name | Type | Description |
---|---|---|
organization_invitations | repeated OrganizationInvitation | found OrganizationInvitations |
missing | repeated string (name of OrganizationInvitation) | list of not found OrganizationInvitations |
ListOrganizationInvitationsRequest Message
A request message of the ListOrganizationInvitations method.
Name | Type | Description |
---|---|---|
parent | string (parent name of OrganizationInvitation) | Parent name of ntt.iam.v1.OrganizationInvitation |
page_size | int32 | Requested page size. Server may return fewer OrganizationInvitations than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of OrganizationInvitation) | A token identifying a page of results the server should return. Typically, this is the value of ListOrganizationInvitationsResponse.next_page_token. |
order_by | string (orderBy of OrganizationInvitation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of OrganizationInvitation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListOrganizationInvitationsResponse Message
A response message of the ListOrganizationInvitations method.
Name | Type | Description |
---|---|---|
organization_invitations | repeated OrganizationInvitation | The list of OrganizationInvitations |
prev_page_token | string (cursor of OrganizationInvitation) | A token to retrieve previous page of results. Pass this value in the ListOrganizationInvitationsRequest.page_token. |
next_page_token | string (cursor of OrganizationInvitation) | A token to retrieve next page of results. Pass this value in the ListOrganizationInvitationsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total OrganizationInvitations across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchOrganizationInvitationRequest Message
A request message of the WatchOrganizationInvitation method.
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | Name of ntt.iam.v1.OrganizationInvitation |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchOrganizationInvitationResponse Message
A response message of the WatchOrganizationInvitation method.
Name | Type | Description |
---|---|---|
change | OrganizationInvitationChange |
WatchOrganizationInvitationsRequest Message
A request message of the WatchOrganizationInvitations method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of OrganizationInvitation) | Parent name of ntt.iam.v1.OrganizationInvitation |
page_size | int32 | Requested page size. Server may return fewer OrganizationInvitations than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of OrganizationInvitation) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of OrganizationInvitation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of OrganizationInvitation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to OrganizationInvitation that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to OrganizationInvitation that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchOrganizationInvitationsResponse Message
A response message of the WatchOrganizationInvitations method.
Name | Type | Description |
---|---|---|
organization_invitation_changes | repeated OrganizationInvitationChange | Changes of OrganizationInvitations |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All OrganizationInvitations will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchOrganizationInvitationsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (OrganizationInvitations will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchOrganizationInvitationsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of OrganizationInvitation) | New token to retrieve previous page of results. |
next_page_token | string (cursor of OrganizationInvitation) | New token to retrieve next page of results. |
CreateOrganizationInvitationRequest Message
A request message of the CreateOrganizationInvitation method.
Name | Type | Description |
---|---|---|
parent | string (parent name of OrganizationInvitation) | Parent name of ntt.iam.v1.OrganizationInvitation |
organization_invitation | OrganizationInvitation | OrganizationInvitation resource body |
response_mask | CreateOrganizationInvitationRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateOrganizationInvitationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateOrganizationInvitationRequest Message
A request message of the UpdateOrganizationInvitation method.
Name | Type | Description |
---|---|---|
organization_invitation | OrganizationInvitation | OrganizationInvitation resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateOrganizationInvitationRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateOrganizationInvitationRequest.ResponseMask | reduce message response size. |
UpdateOrganizationInvitationRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | OrganizationInvitation | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateOrganizationInvitationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteOrganizationInvitationRequest Message
A request message of the DeleteOrganizationInvitation method.
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | Name of ntt.iam.v1.OrganizationInvitation |
AcceptOrganizationInvitationRequest Message
Request message for method [AcceptOrganizationInvitation][ntt.iam.v1.AcceptOrganizationInvitation]
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | name of ntt.iam.v1.OrganizationInvitation |
AcceptOrganizationInvitationResponse Message
Response message for method [AcceptOrganizationInvitation][ntt.iam.v1.AcceptOrganizationInvitation]
Name | Type | Description |
---|---|---|
none | none | none |
DeclineOrganizationInvitationRequest Message
Request message for method [DeclineOrganizationInvitation][ntt.iam.v1.DeclineOrganizationInvitation]
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | name of ntt.iam.v1.OrganizationInvitation |
filter | string (filter of ProjectInvitation) | Additional filter for invitations, e.g. state = “PENDING” |
DeclineOrganizationInvitationResponse Message
Response message for method [DeclineOrganizationInvitation][ntt.iam.v1.DeclineOrganizationInvitation]
Name | Type | Description |
---|---|---|
none | none | none |
ListMyOrganizationInvitationsRequest Message
Request message for method [ListMyOrganizationInvitations][ntt.iam.v1.ListMyOrganizationInvitations]
Name | Type | Description |
---|---|---|
parent | string (parent name of OrganizationInvitation) | Parent name of ntt.iam.v1.OrganizationInvitation |
filter | string (filter of OrganizationInvitation) | Additional filter for invitations, e.g. state = “PENDING” |
ListMyOrganizationInvitationsResponse Message
Response message for method [ListMyOrganizationInvitations][ntt.iam.v1.ListMyOrganizationInvitations]
Name | Type | Description |
---|---|---|
organization_invitations | repeated OrganizationInvitation | The list of OrganizationInvitations |
Permission Resource
Permission Resource
Name patterns:
services/{service}/permissions/{permission}
Parent resources:
This section covers the methods and messages to interact with Permission resource.
Permission Methods
Here is the list of Permission resource methods:
- GetPermission method
- BatchGetPermissions method
- ListPermissions method
- WatchPermission method
- WatchPermissions method
- CreatePermission method
- UpdatePermission method
- DeletePermission method
GetPermission Method
GetPermission
rpc GetPermission(GetPermissionRequest) returns (Permission)
with the following messages:
- GetPermissionRequest request message
- Permission response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.get
The equivalent REST API is:
GET /v1/{name=services/*/permissions/*}
BatchGetPermissions Method
BatchGetPermissions
rpc BatchGetPermissions(BatchGetPermissionsRequest) returns (BatchGetPermissionsResponse)
with the following messages:
- BatchGetPermissionsRequest request message
- BatchGetPermissionsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.batchGet
The equivalent REST API is:
GET /v1/permissions:batchGet
ListPermissions Method
ListPermissions
rpc ListPermissions(ListPermissionsRequest) returns (ListPermissionsResponse)
with the following messages:
- ListPermissionsRequest request message
- ListPermissionsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.list
The equivalent REST API is:
GET /v1/{parent=services/*}/permissions
WatchPermission Method
WatchPermission
rpc WatchPermission(WatchPermissionRequest) returns (WatchPermissionResponse)
with the following messages:
- WatchPermissionRequest request message
- WatchPermissionResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.watch
The equivalent REST API is:
POST /v1/{name=services/*/permissions/*}:watch
WatchPermissions Method
WatchPermissions
rpc WatchPermissions(WatchPermissionsRequest) returns (WatchPermissionsResponse)
with the following messages:
- WatchPermissionsRequest request message
- WatchPermissionsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.watch
The equivalent REST API is:
POST /v1/{parent=services/*}/permissions:watch
CreatePermission Method
CreatePermission
rpc CreatePermission(CreatePermissionRequest) returns (Permission)
with the following messages:
- CreatePermissionRequest request message
- Permission response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.create
The equivalent REST API is:
POST /v1/{parent=services/*}/permissions (BODY: permission)
UpdatePermission Method
UpdatePermission
rpc UpdatePermission(UpdatePermissionRequest) returns (Permission)
with the following messages:
- UpdatePermissionRequest request message
- Permission response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.update
The equivalent REST API is:
PUT /v1/{permission.name=services/*/permissions/*} (BODY: permission)
DeletePermission Method
DeletePermission
rpc DeletePermission(DeletePermissionRequest) returns (Empty)
with the following messages:
- DeletePermissionRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/permissions.delete
The equivalent REST API is:
DELETE /v1/{name=services/*/permissions/*}
Permission Messages
Here is the list of Permission resource messages:
- Permission message
- GetPermissionRequest message
- BatchGetPermissionsRequest message
- BatchGetPermissionsResponse message
- ListPermissionsRequest message
- ListPermissionsResponse message
- WatchPermissionRequest message
- WatchPermissionResponse message
- WatchPermissionsRequest message
- WatchPermissionsResponse message
- WatchPermissionsResponse.PageTokenChange message
- CreatePermissionRequest message
- CreatePermissionRequest.ResponseMask message
- UpdatePermissionRequest message
- UpdatePermissionRequest.CAS message
- UpdatePermissionRequest.ResponseMask message
- DeletePermissionRequest message
Permission Message
Name | Type | Description |
---|---|---|
name | string (name of Permission) | Name of Permission |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
title | string | Title |
description | string | Description |
GetPermissionRequest Message
A request message of the GetPermission method.
Name | Type | Description |
---|---|---|
name | string (name of Permission) | Name of ntt.iam.v1.Permission |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetPermissionsRequest Message
A request message of the BatchGetPermissions method.
Name | Type | Description |
---|---|---|
names | repeated string (name of Permission) | Names of Permissions |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetPermissionsResponse Message
A response message of the BatchGetPermissions method.
Name | Type | Description |
---|---|---|
permissions | repeated Permission | found Permissions |
missing | repeated string (name of Permission) | list of not found Permissions |
ListPermissionsRequest Message
A request message of the ListPermissions method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Permission) | Parent name of ntt.iam.v1.Permission |
page_size | int32 | Requested page size. Server may return fewer Permissions than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Permission) | A token identifying a page of results the server should return. Typically, this is the value of ListPermissionsResponse.next_page_token. |
order_by | string (orderBy of Permission) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Permission) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListPermissionsResponse Message
A response message of the ListPermissions method.
Name | Type | Description |
---|---|---|
permissions | repeated Permission | The list of Permissions |
prev_page_token | string (cursor of Permission) | A token to retrieve previous page of results. Pass this value in the ListPermissionsRequest.page_token. |
next_page_token | string (cursor of Permission) | A token to retrieve next page of results. Pass this value in the ListPermissionsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Permissions across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchPermissionRequest Message
A request message of the WatchPermission method.
Name | Type | Description |
---|---|---|
name | string (name of Permission) | Name of ntt.iam.v1.Permission |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchPermissionResponse Message
A response message of the WatchPermission method.
Name | Type | Description |
---|---|---|
change | PermissionChange |
WatchPermissionsRequest Message
A request message of the WatchPermissions method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of Permission) | Parent name of ntt.iam.v1.Permission |
page_size | int32 | Requested page size. Server may return fewer Permissions than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of Permission) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of Permission) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of Permission) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Permission that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Permission that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchPermissionsResponse Message
A response message of the WatchPermissions method.
Name | Type | Description |
---|---|---|
permission_changes | repeated PermissionChange | Changes of Permissions |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Permissions will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchPermissionsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Permissions will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchPermissionsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of Permission) | New token to retrieve previous page of results. |
next_page_token | string (cursor of Permission) | New token to retrieve next page of results. |
CreatePermissionRequest Message
A request message of the CreatePermission method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Permission) | Parent name of ntt.iam.v1.Permission |
permission | Permission | Permission resource body |
response_mask | CreatePermissionRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreatePermissionRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdatePermissionRequest Message
A request message of the UpdatePermission method.
Name | Type | Description |
---|---|---|
permission | Permission | Permission resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdatePermissionRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdatePermissionRequest.ResponseMask | reduce message response size. |
UpdatePermissionRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | Permission | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdatePermissionRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeletePermissionRequest Message
A request message of the DeletePermission method.
Name | Type | Description |
---|---|---|
name | string (name of Permission) | Name of ntt.iam.v1.Permission |
Project Resource
Project Resource
Name patterns:
projects/{project}
This section covers the methods and messages to interact with Project resource.
Project Methods
Here is the list of Project resource methods:
- GetProject method
- BatchGetProjects method
- ListProjects method
- WatchProject method
- WatchProjects method
- CreateProject method
- UpdateProject method
- DeleteProject method
- SearchProjects method
- ListMyProjects method
- SearchMyProjects method
- ListMyServiceProjects method
- SetupServiceProject method
- ReserveServiceName method
- DeleteServiceReservation method
- ListServiceReservations method
- ListProjectServices method
GetProject Method
GetProject
rpc GetProject(GetProjectRequest) returns (Project)
with the following messages:
- GetProjectRequest request message
- Project response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.get
The equivalent REST API is:
GET /v1/{name=projects/*}
BatchGetProjects Method
BatchGetProjects
rpc BatchGetProjects(BatchGetProjectsRequest) returns (BatchGetProjectsResponse)
with the following messages:
- BatchGetProjectsRequest request message
- BatchGetProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.batchGet
The equivalent REST API is:
GET /v1/projects:batchGet
ListProjects Method
ListProjects
rpc ListProjects(ListProjectsRequest) returns (ListProjectsResponse)
with the following messages:
- ListProjectsRequest request message
- ListProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.list
The equivalent REST API is:
GET /v1/projects
WatchProject Method
WatchProject
rpc WatchProject(WatchProjectRequest) returns (WatchProjectResponse)
with the following messages:
- WatchProjectRequest request message
- WatchProjectResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.watch
The equivalent REST API is:
POST /v1/{name=projects/*}:watch
WatchProjects Method
WatchProjects
rpc WatchProjects(WatchProjectsRequest) returns (WatchProjectsResponse)
with the following messages:
- WatchProjectsRequest request message
- WatchProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.watch
The equivalent REST API is:
POST /v1/projects:watch
CreateProject Method
CreateProject
rpc CreateProject(CreateProjectRequest) returns (Project)
with the following messages:
- CreateProjectRequest request message
- Project response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.create
The equivalent REST API is:
POST /v1/projects (BODY: project)
UpdateProject Method
UpdateProject
rpc UpdateProject(UpdateProjectRequest) returns (Project)
with the following messages:
- UpdateProjectRequest request message
- Project response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.update
The equivalent REST API is:
PUT /v1/{project.name=projects/*} (BODY: project)
DeleteProject Method
DeleteProject
rpc DeleteProject(DeleteProjectRequest) returns (Empty)
with the following messages:
- DeleteProjectRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*}
SearchProjects Method
SearchProjects
rpc SearchProjects(SearchProjectsRequest) returns (SearchProjectsResponse)
with the following messages:
- SearchProjectsRequest request message
- SearchProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.search
The equivalent REST API is:
GET /v1/projects:search
ListMyProjects Method
ListMyProjects
rpc ListMyProjects(ListMyProjectsRequest) returns (ListMyProjectsResponse)
with the following messages:
- ListMyProjectsRequest request message
- ListMyProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.listMy
The equivalent REST API is:
POST /v1/projects:listMy
SearchMyProjects Method
SearchMyProjects
rpc SearchMyProjects(SearchMyProjectsRequest) returns (SearchMyProjectsResponse)
with the following messages:
- SearchMyProjectsRequest request message
- SearchMyProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.searchMy
The equivalent REST API is:
POST /v1/projects:searchMy
ListMyServiceProjects Method
ListMyServiceProjects
rpc ListMyServiceProjects(ListMyServiceProjectsRequest) returns (ListMyServiceProjectsResponse)
with the following messages:
- ListMyServiceProjectsRequest request message
- ListMyServiceProjectsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.listMyServiceProjects
The equivalent REST API is:
POST /v1/projects:listMyServiceProjects
SetupServiceProject Method
SetupServiceProject
rpc SetupServiceProject(SetupServiceProjectRequest) returns (Project)
with the following messages:
- SetupServiceProjectRequest request message
- Project response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.setupServiceProject
The equivalent REST API is:
POST /v1/projects:setupServiceProject
ReserveServiceName Method
ReserveServiceName
rpc ReserveServiceName(ReserveServiceNameRequest) returns (ReserveServiceNameResponse)
with the following messages:
- ReserveServiceNameRequest request message
- ReserveServiceNameResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.reserveServiceName
The equivalent REST API is:
POST /v1/{name=projects/*}:reserveServiceName
DeleteServiceReservation Method
DeleteServiceReservation
rpc DeleteServiceReservation(DeleteServiceReservationRequest) returns (Empty)
with the following messages:
- DeleteServiceReservationRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.deleteServiceReservation
The equivalent REST API is:
POST /v1/{name=projects/*}:deleteServiceReservation
ListServiceReservations Method
ListServiceReservations
rpc ListServiceReservations(ListServiceReservationsRequest) returns (ListServiceReservationsResponse)
with the following messages:
- ListServiceReservationsRequest request message
- ListServiceReservationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.listServiceReservations
The equivalent REST API is:
POST /v1/{name=projects/*}:listServiceReservations
ListProjectServices Method
ListProjectServices
rpc ListProjectServices(ListProjectServicesRequest) returns (ListProjectServicesResponse)
with the following messages:
- ListProjectServicesRequest request message
- ListProjectServicesResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projects.listProjectServices
The equivalent REST API is:
POST /v1/{name=projects/*}:listProjectServices
Project Messages
Here is the list of Project resource messages:
- Project message
- GetProjectRequest message
- BatchGetProjectsRequest message
- BatchGetProjectsResponse message
- ListProjectsRequest message
- ListProjectsResponse message
- WatchProjectRequest message
- WatchProjectResponse message
- WatchProjectsRequest message
- WatchProjectsResponse message
- WatchProjectsResponse.PageTokenChange message
- CreateProjectRequest message
- CreateProjectRequest.ResponseMask message
- UpdateProjectRequest message
- UpdateProjectRequest.CAS message
- UpdateProjectRequest.ResponseMask message
- DeleteProjectRequest message
- SearchProjectsRequest message
- SearchProjectsResponse message
- ListMyProjectsRequest message
- ListMyProjectsResponse message
- SearchMyProjectsRequest message
- SearchMyProjectsResponse message
- ListMyServiceProjectsRequest message
- ListMyServiceProjectsResponse message
- SetupServiceProjectRequest message
- ReserveServiceNameRequest message
- ReserveServiceNameResponse message
- DeleteServiceReservationRequest message
- ListServiceReservationsRequest message
- ListServiceReservationsResponse message
- ListServiceReservationsResponse.Reservation message
- ListProjectServicesRequest message
- ListProjectServicesResponse message
Project Message
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of Project When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
title | string | Title |
description | string | Description |
parent_organization | string (reference to Organization) | Parent organization |
multi_region_policy | MultiRegionPolicy | Multi region policy |
enabled_services | repeated string (reference to Service) | Enabled services. This field is checked only for non-core edgelq services. |
business_tier | BusinessTier | Default business tier for core EdgeLQ services and all enabled services. |
service_tiers | repeated ServiceBusinessTier | Overwrites business_tier for each service - it may also override value for a core EdgeLQ service. |
root_organization | string (name of Organization) | Top parent |
ancestry_path | repeated string (name of Organization) | Full ancestry path |
service_errors | map<string, ServiceErrors> | Service errors reported for this project |
services_generation | int64 | Internal field for services meta information synchronization |
GetProjectRequest Message
A request message of the GetProject method.
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of ntt.iam.v1.Project |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetProjectsRequest Message
A request message of the BatchGetProjects method.
Name | Type | Description |
---|---|---|
names | repeated string (name of Project) | Names of Projects |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetProjectsResponse Message
A response message of the BatchGetProjects method.
Name | Type | Description |
---|---|---|
projects | repeated Project | found Projects |
missing | repeated string (name of Project) | list of not found Projects |
ListProjectsRequest Message
A request message of the ListProjects method.
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Project) | A token identifying a page of results the server should return. Typically, this is the value of ListProjectsResponse.next_page_token. |
order_by | string (orderBy of Project) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Project) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListProjectsResponse Message
A response message of the ListProjects method.
Name | Type | Description |
---|---|---|
projects | repeated Project | The list of Projects |
prev_page_token | string (cursor of Project) | A token to retrieve previous page of results. Pass this value in the ListProjectsRequest.page_token. |
next_page_token | string (cursor of Project) | A token to retrieve next page of results. Pass this value in the ListProjectsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Projects across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchProjectRequest Message
A request message of the WatchProject method.
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of ntt.iam.v1.Project |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchProjectResponse Message
A response message of the WatchProject method.
Name | Type | Description |
---|---|---|
change | ProjectChange |
WatchProjectsRequest Message
A request message of the WatchProjects method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
page_size | int32 | Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of Project) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of Project) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of Project) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Project that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Project that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchProjectsResponse Message
A response message of the WatchProjects method.
Name | Type | Description |
---|---|---|
project_changes | repeated ProjectChange | Changes of Projects |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Projects will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchProjectsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Projects will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchProjectsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of Project) | New token to retrieve previous page of results. |
next_page_token | string (cursor of Project) | New token to retrieve next page of results. |
CreateProjectRequest Message
A request message of the CreateProject method.
Name | Type | Description |
---|---|---|
project | Project | Project resource body |
response_mask | CreateProjectRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateProjectRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateProjectRequest Message
A request message of the UpdateProject method.
Name | Type | Description |
---|---|---|
project | Project | Project resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateProjectRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateProjectRequest.ResponseMask | reduce message response size. |
UpdateProjectRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | Project | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateProjectRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteProjectRequest Message
A request message of the DeleteProject method.
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of ntt.iam.v1.Project |
SearchProjectsRequest Message
A request message of the SearchProjects method.
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Project) | A token identifying a page of results the server should return. Typically, this is the value of SearchProjectsResponse.next_page_token. |
order_by | string (orderBy of Project) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Project) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
phrase | string | Optional search phrase used to further filter results. |
SearchProjectsResponse Message
A response message of the SearchProjects method.
Name | Type | Description |
---|---|---|
projects | repeated Project | The list of Projects |
prev_page_token | string (cursor of Project) | A token to retrieve previous page of results. Pass this value in the SearchProjectsRequest.page_token. |
next_page_token | string (cursor of Project) | A token to retrieve next page of results. Pass this value in the SearchProjectsRequest.page_token. |
current_offset | int32 | Current offset from the first page (0 if no page tokens were given). Page index can be computed from offset and limit provided in a request |
total_results_count | int32 | Number of total Projects across all pages. |
ListMyProjectsRequest Message
Request message for method [ListMyProjects][ntt.iam.v1.ListMyProjects]
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Project) | A token identifying a page of results the server should return. Typically, this is the value of [ListProjectsResponse.next_page_token][ntt.iam.v1.ListMyProjectsResponse.next_page_token] |
order_by | string (orderBy of Project) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Project) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A FieldMask used to filter response fields. When present, only requested fields will be present in each response item. Omitting field_mask results will cause response items to contain all present fields. |
include_paging_info | bool |
ListMyProjectsResponse Message
Response message for method [ListMyProjects][ntt.iam.v1.ListMyProjects]
Name | Type | Description |
---|---|---|
projects | repeated Project | The list of Projects |
prev_page_token | string (cursor of Project) | A token to retrieve previous page of results. Pass this value in the [ListMyProjectsRequest.page_token][ntt.iam.v1.ListMyProjectsRequest.page_token] |
next_page_token | string (cursor of Project) | A token to retrieve next page of results. Pass this value in the [ListMyProjectsRequest.page_token][ntt.iam.v1.ListMyProjectsRequest.page_token] |
total_count | int32 | |
cursor_offset | int32 |
SearchMyProjectsRequest Message
Request message for method [SearchMyProjects][ntt.iam.v1.SearchMyProjects]
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Project) | A token identifying a page of results the server should return. Typically, this is the value of [SearchProjectsResponse.next_page_token][ntt.iam.v1.SearchMyProjectsResponse.next_page_token] |
order_by | string (orderBy of Project) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Project) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A FieldMask used to filter response fields. When present, only requested fields will be present in each response item. Omitting field_mask results will cause response items to contain all present fields. |
include_paging_info | bool | |
phrase | string |
SearchMyProjectsResponse Message
Response message for method [SearchMyProjects][ntt.iam.v1.SearchMyProjects]
Name | Type | Description |
---|---|---|
projects | repeated Project | The list of Projects |
prev_page_token | string (cursor of Project) | A token to retrieve previous page of results. Pass this value in the [SearchMyProjectsRequest.page_token][ntt.iam.v1.SearchMyProjectsRequest.page_token] |
next_page_token | string (cursor of Project) | A token to retrieve next page of results. Pass this value in the [SearchMyProjectsRequest.page_token][ntt.iam.v1.SearchMyProjectsRequest.page_token] |
total_count | int32 | |
cursor_offset | int32 |
ListMyServiceProjectsRequest Message
Request message for method [ListMyServiceProjects][ntt.iam.v1.ListMyServiceProjects]
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Project) | A token identifying a page of results the server should return. Typically, this is the value of [ListProjectsResponse.next_page_token][ntt.iam.v1.ListMyServiceProjectsResponse.next_page_token] |
order_by | string (orderBy of Project) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Project) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A FieldMask used to filter response fields. When present, only requested fields will be present in each response item. Omitting field_mask results will cause response items to contain all present fields. |
ListMyServiceProjectsResponse Message
Response message for method [ListMyServiceProjects][ntt.iam.v1.ListMyServiceProjects]
Name | Type | Description |
---|---|---|
projects | repeated Project | The list of Projects |
prev_page_token | string (cursor of Project) | A token to retrieve previous page of results. Pass this value in the [ListMyServiceProjectsRequest.page_token][ntt.iam.v1.ListMyServiceProjectsRequest.page_token] |
next_page_token | string (cursor of Project) | A token to retrieve next page of results. Pass this value in the [ListMyServiceProjectsRequest.page_token][ntt.iam.v1.ListMyServiceProjectsRequest.page_token] |
SetupServiceProjectRequest Message
Request message for method [SetupServiceProject][ntt.iam.v1.SetupServiceProject]
Name | Type | Description |
---|---|---|
name | string (name of Project) | Project name - unlike in CreateProject, it is mandatory. Must conform to regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
title | string | Project title |
parent_organization | string (reference to Organization) | Optional parent organization |
multi_region_policy | MultiRegionPolicy | Multi region policy - it will have to match with Service regions later on. |
default_business_tier | BusinessTier | Default business tier to apply to a service project - it determines business tier for core edgelq services, influencing assigned limits. By default XSMALL will be set (UNDEFINED is replaced with XSMALL). If limits are not needed at all for core edgelq services, it is recommended to opt out from them using core_edgelq_service_opt_outs param. |
core_edgelq_service_opt_outs | repeated string (name of Service) | Optional list of core edgelq services which are not needed for this service project. As of now, it has effect on devices/applications. If they are added to this list, then no limits are assigned for resources in those services. |
description | string | Project Description |
ReserveServiceNameRequest Message
Request message for method [ReserveServiceName][ntt.iam.v1.ReserveServiceName]
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of the service project where reservation should be made. |
service | string (name of Service) | Service name to reserve |
admin_account | string (name of ServiceAccount) | Service account name that will be an admin for this Service. If it does not exist, it will be created. If exists this service account will have right to create reserved service. |
admin_key | ServiceAccountKey | Optional admin account key - must be skipped if admin_account already exists and has key already known by user. If provided, then new ServiceAccountKey will be created. If public key was provided in request, then server will use it. Otherwise it will generate private/public pair and provide both in response. If key already exists and admin_key was provided, AlreadyExists will be returned. |
admin_account_project_role | string (name of Role) | Optional Role admin_account will have in the service project. When service is eventually created, admin_account will have full ownership of the Service. However, it wont be able to access Service Project freely - by default minimal role is assigned, that allows to send usage metrics (for example). In some cases it may be necessary for admin_account to have larger access to the service project, for example for devices management. |
ReserveServiceNameResponse Message
Response message for method [ReserveServiceName][ntt.iam.v1.ReserveServiceName]
Name | Type | Description |
---|---|---|
ntt_admin_credentials | ServiceAccount | Service account admin credentials are provided if admin_key was populated in the request object. It will have private key data if public key was not provided in the request admin_key. JSON representation of this object must be saved by the caller as ntt-credentials.json file - it will be required during actual application deployment. If user generated private/public pair themselves (and proved public in request object), before saving JSON user will need to populate private key string themselves in the final file. In case of lost credentials, user will need to send DeleteServiceAccountKey and CreateServiceAccountKey requests for admin ServiceAccount - and craft another credentials. |
DeleteServiceReservationRequest Message
Response message for method [DeleteServiceReservation][ntt.iam.v1.DeleteServiceReservation]
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of the service project where reservation exists |
service | string (name of Service) | Service name to remove from reserved |
ListServiceReservationsRequest Message
Request message for method [ListServiceReservations][ntt.iam.v1.ListServiceReservations]
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of the Service Project for which we want to see reservations. |
ListServiceReservationsResponse Message
Response message for method [ListServiceReservations][ntt.iam.v1.ListServiceReservations]
Name | Type | Description |
---|---|---|
reservations | repeated ListServiceReservationsResponse.Reservation | List of reserved services with corresponding admin accounts |
ListServiceReservationsResponse.Reservation Message
Name | Type | Description |
---|---|---|
service | string (name of Service) | Reserved service name allowed to be created by admin account |
admin_account | string (name of ServiceAccount) | Service account name that will be an admin for this Service. |
ListProjectServicesRequest Message
Request message for method [ListProjectServices][ntt.iam.v1.ListProjectServices]
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of the Service Project for which we want to see services. |
ListProjectServicesResponse Message
Response message for method [ListProjectServices][ntt.iam.v1.ListProjectServices]
Name | Type | Description |
---|---|---|
services | repeated Service | List of services |
ProjectInvitation Resource
ProjectInvitation Resource
Name patterns:
projects/{project}/projectInvitations/{project_invitation}
Parent resources:
This section covers the methods and messages to interact with ProjectInvitation resource.
ProjectInvitation Methods
Here is the list of ProjectInvitation resource methods:
- GetProjectInvitation method
- BatchGetProjectInvitations method
- ListProjectInvitations method
- WatchProjectInvitation method
- WatchProjectInvitations method
- CreateProjectInvitation method
- UpdateProjectInvitation method
- DeleteProjectInvitation method
- AcceptProjectInvitation method
- DeclineProjectInvitation method
- ListMyProjectInvitations method
- ResendProjectInvitation method
GetProjectInvitation Method
GetProjectInvitation
rpc GetProjectInvitation(GetProjectInvitationRequest) returns (ProjectInvitation)
with the following messages:
- GetProjectInvitationRequest request message
- ProjectInvitation response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.get
The equivalent REST API is:
GET /v1/{name=projects/*/projectInvitations/*}
BatchGetProjectInvitations Method
BatchGetProjectInvitations
rpc BatchGetProjectInvitations(BatchGetProjectInvitationsRequest) returns (BatchGetProjectInvitationsResponse)
with the following messages:
- BatchGetProjectInvitationsRequest request message
- BatchGetProjectInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.batchGet
The equivalent REST API is:
GET /v1/projectInvitations:batchGet
ListProjectInvitations Method
ListProjectInvitations
rpc ListProjectInvitations(ListProjectInvitationsRequest) returns (ListProjectInvitationsResponse)
with the following messages:
- ListProjectInvitationsRequest request message
- ListProjectInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.list
The equivalent REST API is:
GET /v1/{parent=projects/*}/projectInvitations
WatchProjectInvitation Method
WatchProjectInvitation
rpc WatchProjectInvitation(WatchProjectInvitationRequest) returns (WatchProjectInvitationResponse)
with the following messages:
- WatchProjectInvitationRequest request message
- WatchProjectInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.watch
The equivalent REST API is:
POST /v1/{name=projects/*/projectInvitations/*}:watch
WatchProjectInvitations Method
WatchProjectInvitations
rpc WatchProjectInvitations(WatchProjectInvitationsRequest) returns (WatchProjectInvitationsResponse)
with the following messages:
- WatchProjectInvitationsRequest request message
- WatchProjectInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.watch
The equivalent REST API is:
POST /v1/{parent=projects/*}/projectInvitations:watch
CreateProjectInvitation Method
CreateProjectInvitation
rpc CreateProjectInvitation(CreateProjectInvitationRequest) returns (ProjectInvitation)
with the following messages:
- CreateProjectInvitationRequest request message
- ProjectInvitation response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.create
The equivalent REST API is:
POST /v1/{parent=projects/*}/projectInvitations (BODY: project_invitation)
UpdateProjectInvitation Method
UpdateProjectInvitation
rpc UpdateProjectInvitation(UpdateProjectInvitationRequest) returns (ProjectInvitation)
with the following messages:
- UpdateProjectInvitationRequest request message
- ProjectInvitation response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.update
The equivalent REST API is:
PUT /v1/{project_invitation.name=projects/*/projectInvitations/*} (BODY: project_invitation)
DeleteProjectInvitation Method
DeleteProjectInvitation
rpc DeleteProjectInvitation(DeleteProjectInvitationRequest) returns (Empty)
with the following messages:
- DeleteProjectInvitationRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*/projectInvitations/*}
AcceptProjectInvitation Method
AcceptProjectInvitation
rpc AcceptProjectInvitation(AcceptProjectInvitationRequest) returns (AcceptProjectInvitationResponse)
with the following messages:
- AcceptProjectInvitationRequest request message
- AcceptProjectInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.accept
The equivalent REST API is:
POST /v1/{name=projects/*/projectInvitations/*}:accept
DeclineProjectInvitation Method
DeclineProjectInvitation
rpc DeclineProjectInvitation(DeclineProjectInvitationRequest) returns (DeclineProjectInvitationResponse)
with the following messages:
- DeclineProjectInvitationRequest request message
- DeclineProjectInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.decline
The equivalent REST API is:
POST /v1/{name=projects/*/projectInvitations/*}:decline
ListMyProjectInvitations Method
ListMyProjectInvitations
rpc ListMyProjectInvitations(ListMyProjectInvitationsRequest) returns (ListMyProjectInvitationsResponse)
with the following messages:
- ListMyProjectInvitationsRequest request message
- ListMyProjectInvitationsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.listMy
The equivalent REST API is:
POST /v1/{parent=projects/*}/projectInvitations:listMy
ResendProjectInvitation Method
ResendProjectInvitation
rpc ResendProjectInvitation(ResendProjectInvitationRequest) returns (ResendProjectInvitationResponse)
with the following messages:
- ResendProjectInvitationRequest request message
- ResendProjectInvitationResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/projectInvitations.resend
The equivalent REST API is:
POST /v1/{name=projects/*/projectInvitations/*}:resend
ProjectInvitation Messages
Here is the list of ProjectInvitation resource messages:
- ProjectInvitation message
- GetProjectInvitationRequest message
- BatchGetProjectInvitationsRequest message
- BatchGetProjectInvitationsResponse message
- ListProjectInvitationsRequest message
- ListProjectInvitationsResponse message
- WatchProjectInvitationRequest message
- WatchProjectInvitationResponse message
- WatchProjectInvitationsRequest message
- WatchProjectInvitationsResponse message
- WatchProjectInvitationsResponse.PageTokenChange message
- CreateProjectInvitationRequest message
- CreateProjectInvitationRequest.ResponseMask message
- UpdateProjectInvitationRequest message
- UpdateProjectInvitationRequest.CAS message
- UpdateProjectInvitationRequest.ResponseMask message
- DeleteProjectInvitationRequest message
- AcceptProjectInvitationRequest message
- AcceptProjectInvitationResponse message
- DeclineProjectInvitationRequest message
- DeclineProjectInvitationResponse message
- ListMyProjectInvitationsRequest message
- ListMyProjectInvitationsResponse message
- ResendProjectInvitationRequest message
- ResendProjectInvitationResponse message
ProjectInvitation Message
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | Name of ProjectInvitation When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
project_display_name | string | project display name (auto-generated). Present here as user doesn’t have yet permission to fetch related project. |
invitation | Invitation |
GetProjectInvitationRequest Message
A request message of the GetProjectInvitation method.
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | Name of ntt.iam.v1.ProjectInvitation |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetProjectInvitationsRequest Message
A request message of the BatchGetProjectInvitations method.
Name | Type | Description |
---|---|---|
names | repeated string (name of ProjectInvitation) | Names of ProjectInvitations |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetProjectInvitationsResponse Message
A response message of the BatchGetProjectInvitations method.
Name | Type | Description |
---|---|---|
project_invitations | repeated ProjectInvitation | found ProjectInvitations |
missing | repeated string (name of ProjectInvitation) | list of not found ProjectInvitations |
ListProjectInvitationsRequest Message
A request message of the ListProjectInvitations method.
Name | Type | Description |
---|---|---|
parent | string (parent name of ProjectInvitation) | Parent name of ntt.iam.v1.ProjectInvitation |
page_size | int32 | Requested page size. Server may return fewer ProjectInvitations than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of ProjectInvitation) | A token identifying a page of results the server should return. Typically, this is the value of ListProjectInvitationsResponse.next_page_token. |
order_by | string (orderBy of ProjectInvitation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of ProjectInvitation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListProjectInvitationsResponse Message
A response message of the ListProjectInvitations method.
Name | Type | Description |
---|---|---|
project_invitations | repeated ProjectInvitation | The list of ProjectInvitations |
prev_page_token | string (cursor of ProjectInvitation) | A token to retrieve previous page of results. Pass this value in the ListProjectInvitationsRequest.page_token. |
next_page_token | string (cursor of ProjectInvitation) | A token to retrieve next page of results. Pass this value in the ListProjectInvitationsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total ProjectInvitations across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchProjectInvitationRequest Message
A request message of the WatchProjectInvitation method.
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | Name of ntt.iam.v1.ProjectInvitation |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchProjectInvitationResponse Message
A response message of the WatchProjectInvitation method.
Name | Type | Description |
---|---|---|
change | ProjectInvitationChange |
WatchProjectInvitationsRequest Message
A request message of the WatchProjectInvitations method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of ProjectInvitation) | Parent name of ntt.iam.v1.ProjectInvitation |
page_size | int32 | Requested page size. Server may return fewer ProjectInvitations than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of ProjectInvitation) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of ProjectInvitation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of ProjectInvitation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ProjectInvitation that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ProjectInvitation that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchProjectInvitationsResponse Message
A response message of the WatchProjectInvitations method.
Name | Type | Description |
---|---|---|
project_invitation_changes | repeated ProjectInvitationChange | Changes of ProjectInvitations |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ProjectInvitations will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchProjectInvitationsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ProjectInvitations will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchProjectInvitationsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of ProjectInvitation) | New token to retrieve previous page of results. |
next_page_token | string (cursor of ProjectInvitation) | New token to retrieve next page of results. |
CreateProjectInvitationRequest Message
A request message of the CreateProjectInvitation method.
Name | Type | Description |
---|---|---|
parent | string (parent name of ProjectInvitation) | Parent name of ntt.iam.v1.ProjectInvitation |
project_invitation | ProjectInvitation | ProjectInvitation resource body |
response_mask | CreateProjectInvitationRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateProjectInvitationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateProjectInvitationRequest Message
A request message of the UpdateProjectInvitation method.
Name | Type | Description |
---|---|---|
project_invitation | ProjectInvitation | ProjectInvitation resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateProjectInvitationRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateProjectInvitationRequest.ResponseMask | reduce message response size. |
UpdateProjectInvitationRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | ProjectInvitation | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateProjectInvitationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteProjectInvitationRequest Message
A request message of the DeleteProjectInvitation method.
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | Name of ntt.iam.v1.ProjectInvitation |
AcceptProjectInvitationRequest Message
Request message for method [AcceptProjectInvitation][ntt.iam.v1.AcceptProjectInvitation]
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | name of ntt.iam.v1.ProjectInvitation |
AcceptProjectInvitationResponse Message
Response message for method [AcceptProjectInvitation][ntt.iam.v1.AcceptProjectInvitation]
Name | Type | Description |
---|---|---|
none | none | none |
DeclineProjectInvitationRequest Message
Request message for method [DeclineProjectInvitation][ntt.iam.v1.DeclineProjectInvitation]
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | name of ntt.iam.v1.ProjectInvitation |
DeclineProjectInvitationResponse Message
Response message for method [DeclineProjectInvitation][ntt.iam.v1.DeclineProjectInvitation]
Name | Type | Description |
---|---|---|
none | none | none |
ListMyProjectInvitationsRequest Message
Request message for method [ListMyProjectInvitations][ntt.iam.v1.ListMyProjectInvitations]
Name | Type | Description |
---|---|---|
parent | string (parent name of ProjectInvitation) | Parent name of ntt.iam.v1.ProjectInvitation |
filter | string (filter of ProjectInvitation) | Additional filter for invitations, e.g. state = “PENDING” |
ListMyProjectInvitationsResponse Message
Response message for method [ListMyProjectInvitations][ntt.iam.v1.ListMyProjectInvitations]
Name | Type | Description |
---|---|---|
project_invitations | repeated ProjectInvitation |
ResendProjectInvitationRequest Message
Request message for method [ResendProjectInvitation][ntt.iam.v1.ResendProjectInvitation]
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | name of ntt.iam.v1.ProjectInvitation |
ResendProjectInvitationResponse Message
Response message for method [ResendProjectInvitation][ntt.iam.v1.ResendProjectInvitation]
Name | Type | Description |
---|---|---|
project_invitation | ProjectInvitation |
Role Resource
Role Resource
Name patterns:
services/{service}/roles/{role}
projects/{project}/roles/{role}
organizations/{organization}/roles/{role}
Parent resources:
This section covers the methods and messages to interact with Role resource.
Role Methods
Here is the list of Role resource methods:
- GetRole method
- BatchGetRoles method
- ListRoles method
- WatchRole method
- WatchRoles method
- CreateRole method
- UpdateRole method
- DeleteRole method
GetRole Method
GetRole
rpc GetRole(GetRoleRequest) returns (Role)
with the following messages:
- GetRoleRequest request message
- Role response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.get
The equivalent REST API is:
GET /v1/{name=services/*/roles/*}
GET /v1/{name=projects/*/roles/*}
GET /v1/{name=organizations/*/roles/*}
BatchGetRoles Method
BatchGetRoles
rpc BatchGetRoles(BatchGetRolesRequest) returns (BatchGetRolesResponse)
with the following messages:
- BatchGetRolesRequest request message
- BatchGetRolesResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.batchGet
The equivalent REST API is:
GET /v1/roles:batchGet
ListRoles Method
ListRoles
rpc ListRoles(ListRolesRequest) returns (ListRolesResponse)
with the following messages:
- ListRolesRequest request message
- ListRolesResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.list
The equivalent REST API is:
GET /v1/{parent=services/*}/roles
GET /v1/{parent=projects/*}/roles
GET /v1/{parent=organizations/*}/roles
WatchRole Method
WatchRole
rpc WatchRole(WatchRoleRequest) returns (WatchRoleResponse)
with the following messages:
- WatchRoleRequest request message
- WatchRoleResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.watch
The equivalent REST API is:
POST /v1/{name=services/*/roles/*}:watch
POST /v1/{name=projects/*/roles/*}:watch
POST /v1/{name=organizations/*/roles/*}:watch
WatchRoles Method
WatchRoles
rpc WatchRoles(WatchRolesRequest) returns (WatchRolesResponse)
with the following messages:
- WatchRolesRequest request message
- WatchRolesResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.watch
The equivalent REST API is:
POST /v1/{parent=services/*}/roles:watch
POST /v1/{parent=projects/*}/roles:watch
POST /v1/{parent=organizations/*}/roles:watch
CreateRole Method
CreateRole
rpc CreateRole(CreateRoleRequest) returns (Role)
with the following messages:
- CreateRoleRequest request message
- Role response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.create
The equivalent REST API is:
POST /v1/{parent=services/*}/roles (BODY: role)
POST /v1/{parent=projects/*}/roles
POST /v1/{parent=organizations/*}/roles
UpdateRole Method
UpdateRole
rpc UpdateRole(UpdateRoleRequest) returns (Role)
with the following messages:
- UpdateRoleRequest request message
- Role response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.update
The equivalent REST API is:
PUT /v1/{role.name=services/*/roles/*} (BODY: role)
PUT /v1/{role.name=projects/*/roles/*}
PUT /v1/{role.name=organizations/*/roles/*}
DeleteRole Method
DeleteRole
rpc DeleteRole(DeleteRoleRequest) returns (Empty)
with the following messages:
- DeleteRoleRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/roles.delete
The equivalent REST API is:
DELETE /v1/{name=services/*/roles/*}
DELETE /v1/{name=projects/*/roles/*}
DELETE /v1/{name=organizations/*/roles/*}
Role Messages
Here is the list of Role resource messages:
- Role message
- Role.ScopeParamType message
- Role.Grant message
- Role.Grant.FieldCondition message
- GetRoleRequest message
- BatchGetRolesRequest message
- BatchGetRolesResponse message
- ListRolesRequest message
- ListRolesResponse message
- WatchRoleRequest message
- WatchRoleResponse message
- WatchRolesRequest message
- WatchRolesResponse message
- WatchRolesResponse.PageTokenChange message
- CreateRoleRequest message
- CreateRoleRequest.ResponseMask message
- UpdateRoleRequest message
- UpdateRoleRequest.CAS message
- UpdateRoleRequest.ResponseMask message
- DeleteRoleRequest message
Role Message
Name | Type | Description |
---|---|---|
name | string (name of Role) | Name of Role |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
display_name | string | Display Name |
description | string | Optional description |
category | Role.Category | Category to which Role belongs to. It cannot be changed. |
scope_params | repeated Role.ScopeParamType | List of scope params, they are used to evaluate object prefixes in grants and values in their field conditions, if any. |
grants | repeated Role.Grant | List of permissions granted per each object prefix. |
owned_objects | repeated string | List of owned objects templates - during binding of a role, each owned object specified in this role is computed against scope params from role binding to evaluate final owned objects. For example, if owned_objects in Role contains value “regions/{region}/devices/{device}, and RoleBinding specifies region=useast and device=d1, then final owned_object will be regions/useast/devices/d1. Ownership also would include any potential child resources of this device. Note that RoleBinding scope (project, organization, service) will still be prepended before each owned object to form fully qualified name of the owned resource. Owned objects may contain wildcards: ‘-’. As a special case, if owned objects contain string with only single character: ‘-’, then it means member of the role binding is considered as full owner of the scope. This field cannot be modified after role creation. |
services | repeated string (reference to Service) | List of services used by this role. It is being detected by the usage of permissions in grants - or if it has owned objects, it contains all services used by parent service. |
rb_spec_generation | int64 | Internal field used by controller to ensure role bindings are in sync with role updates. |
Role.ScopeParamType Message
Name | Type | Description |
---|---|---|
name | string | |
type | Role.ScopeParamType.Type |
Role.Grant Message
Name | Type | Description |
---|---|---|
sub_scope | string | Optional prefix that is APPENDED to the scope inherited from RoleBinding (project, organization, service). If not specified, then scope is equal to the one from RoleBinding. |
permissions | repeated string (reference to Permission) | List of applicable permissions for this grant. Not relevant if is_owner is true. |
resource_field_conditions | repeated Role.Grant.FieldCondition | List of resource field conditions. Values for conditions are extracted from assigned RoleBinding (scope params). Resource extraction is following: - If request has resource body, then it is used. - If request has resource name, then resource is extracted from database and its fields are used. - If request has filter object applicable for collection requests (like list, collection watch…), then service uses resource field paths and values extracted from filter conditions. |
request_field_conditions | repeated Role.Grant.FieldCondition | List of request field conditions. Values for conditions are extracted from assigned RoleBinding (scope params). |
executable_conditions | repeated ExecutableCondition | List of executable conditions to be applied in order to validate this grant. Note that executable conditions are also specified in RoleBinding, as often it is not possible to define all params in the Role itself, before binding. Final executable conditions, in RoleBinding context, are computed in the following way: - Executable conditions from RoleBinding and Role are matched by condition reference. - Params are merged FROM condition in Role into condition in RoleBinding. It is expected that Role defined “common” params and RoleBinding defines remaining ones. |
Role.Grant.FieldCondition Message
Name | Type | Description |
---|---|---|
path | string | |
value | string |
GetRoleRequest Message
A request message of the GetRole method.
Name | Type | Description |
---|---|---|
name | string (name of Role) | Name of ntt.iam.v1.Role |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetRolesRequest Message
A request message of the BatchGetRoles method.
Name | Type | Description |
---|---|---|
names | repeated string (name of Role) | Names of Roles |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetRolesResponse Message
A response message of the BatchGetRoles method.
Name | Type | Description |
---|---|---|
roles | repeated Role | found Roles |
missing | repeated string (name of Role) | list of not found Roles |
ListRolesRequest Message
A request message of the ListRoles method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Role) | Parent name of ntt.iam.v1.Role |
page_size | int32 | Requested page size. Server may return fewer Roles than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of Role) | A token identifying a page of results the server should return. Typically, this is the value of ListRolesResponse.next_page_token. |
order_by | string (orderBy of Role) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of Role) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListRolesResponse Message
A response message of the ListRoles method.
Name | Type | Description |
---|---|---|
roles | repeated Role | The list of Roles |
prev_page_token | string (cursor of Role) | A token to retrieve previous page of results. Pass this value in the ListRolesRequest.page_token. |
next_page_token | string (cursor of Role) | A token to retrieve next page of results. Pass this value in the ListRolesRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Roles across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchRoleRequest Message
A request message of the WatchRole method.
Name | Type | Description |
---|---|---|
name | string (name of Role) | Name of ntt.iam.v1.Role |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchRoleResponse Message
A response message of the WatchRole method.
Name | Type | Description |
---|---|---|
change | RoleChange |
WatchRolesRequest Message
A request message of the WatchRoles method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of Role) | Parent name of ntt.iam.v1.Role |
page_size | int32 | Requested page size. Server may return fewer Roles than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of Role) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of Role) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of Role) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Role that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Role that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchRolesResponse Message
A response message of the WatchRoles method.
Name | Type | Description |
---|---|---|
role_changes | repeated RoleChange | Changes of Roles |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Roles will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchRolesResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Roles will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchRolesResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of Role) | New token to retrieve previous page of results. |
next_page_token | string (cursor of Role) | New token to retrieve next page of results. |
CreateRoleRequest Message
A request message of the CreateRole method.
Name | Type | Description |
---|---|---|
parent | string (parent name of Role) | Parent name of ntt.iam.v1.Role |
role | Role | Role resource body |
response_mask | CreateRoleRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateRoleRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateRoleRequest Message
A request message of the UpdateRole method.
Name | Type | Description |
---|---|---|
role | Role | Role resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateRoleRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateRoleRequest.ResponseMask | reduce message response size. |
UpdateRoleRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | Role | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateRoleRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteRoleRequest Message
A request message of the DeleteRole method.
Name | Type | Description |
---|---|---|
name | string (name of Role) | Name of ntt.iam.v1.Role |
Role Enumerations
Here is the list of Role resource enumerations:
- Role.Category enumeration
- Role.ScopeParamType.Type enumeration
Role.Category Enumeration
Category points to the intended role use. It may restrict how RoleBindings are created.
Name | Description |
---|---|
UNDEFINED | Undefined, not allowed. |
PUBLIC | Role is intended for public access. Restricted members: allUsers, allAuthenticatedUsers. No RoleBinding scope restrictions. |
INTERNAL | Role is for internal purposes, defined by a parent service. There are no restrictions to scope and members. |
OWNER | Special owner role - reserved to “scope-admin” role in IAM. It is de facto reserved category for EdgeLQ core services only, but is also kind of USER type. |
SERVICE | Role relevant for Service Management, check display name and/or description for more information. |
AGENT | Role for various edge agents. Restricted to project scope and service account member types. Cannot be assigned to groups. |
USER | Role relevant for users, provides an access to various actions on organization/project level. Typically should be given to users, but ServiceAccount is also possible. Can be assigned to group members. |
Role.ScopeParamType.Type Enumeration
Name | Description |
---|---|
UNDEFINED | |
STRING | |
ARRAY_OF_STRINGS |
RoleBinding Resource
RoleBinding Resource
Name patterns:
roleBindings/{role_binding}
projects/{project}/roleBindings/{role_binding}
organizations/{organization}/roleBindings/{role_binding}
services/{service}/roleBindings/{role_binding}
Parent resources:
This section covers the methods and messages to interact with RoleBinding resource.
RoleBinding Methods
Here is the list of RoleBinding resource methods:
- CheckMyRoleBindings method
- GetRoleBinding method
- BatchGetRoleBindings method
- ListRoleBindings method
- WatchRoleBinding method
- WatchRoleBindings method
- CreateRoleBinding method
- UpdateRoleBinding method
- DeleteRoleBinding method
- ListRoleBindingsWithMembers method
CheckMyRoleBindings Method
CheckMyRoleBindings
rpc CheckMyRoleBindings(CheckMyRoleBindingsRequest) returns (CheckMyRoleBindingsResponse)
with the following messages:
- CheckMyRoleBindingsRequest request message
- CheckMyRoleBindingsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.checkMy
The equivalent REST API is:
POST /v1/roleBindings:checkMy (BODY: *)
POST /v1/{parent=projects/*}/roleBindings:checkMy
POST /v1/{parent=organizations/*}/roleBindings:checkMy
POST /v1/{parent=services/*}/roleBindings:checkMy
GetRoleBinding Method
GetRoleBinding
rpc GetRoleBinding(GetRoleBindingRequest) returns (RoleBinding)
with the following messages:
- GetRoleBindingRequest request message
- RoleBinding response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.get
The equivalent REST API is:
GET /v1/{name=roleBindings/*}
GET /v1/{name=projects/*/roleBindings/*}
GET /v1/{name=organizations/*/roleBindings/*}
GET /v1/{name=services/*/roleBindings/*}
BatchGetRoleBindings Method
BatchGetRoleBindings
rpc BatchGetRoleBindings(BatchGetRoleBindingsRequest) returns (BatchGetRoleBindingsResponse)
with the following messages:
- BatchGetRoleBindingsRequest request message
- BatchGetRoleBindingsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.batchGet
The equivalent REST API is:
GET /v1/roleBindings:batchGet
ListRoleBindings Method
ListRoleBindings
rpc ListRoleBindings(ListRoleBindingsRequest) returns (ListRoleBindingsResponse)
with the following messages:
- ListRoleBindingsRequest request message
- ListRoleBindingsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.list
The equivalent REST API is:
GET /v1/roleBindings
GET /v1/{parent=projects/*}/roleBindings
GET /v1/{parent=organizations/*}/roleBindings
GET /v1/{parent=services/*}/roleBindings
WatchRoleBinding Method
WatchRoleBinding
rpc WatchRoleBinding(WatchRoleBindingRequest) returns (WatchRoleBindingResponse)
with the following messages:
- WatchRoleBindingRequest request message
- WatchRoleBindingResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.watch
The equivalent REST API is:
POST /v1/{name=roleBindings/*}:watch
POST /v1/{name=projects/*/roleBindings/*}:watch
POST /v1/{name=organizations/*/roleBindings/*}:watch
POST /v1/{name=services/*/roleBindings/*}:watch
WatchRoleBindings Method
WatchRoleBindings
rpc WatchRoleBindings(WatchRoleBindingsRequest) returns (WatchRoleBindingsResponse)
with the following messages:
- WatchRoleBindingsRequest request message
- WatchRoleBindingsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.watch
The equivalent REST API is:
POST /v1/roleBindings:watch
POST /v1/{parent=projects/*}/roleBindings:watch
POST /v1/{parent=organizations/*}/roleBindings:watch
POST /v1/{parent=services/*}/roleBindings:watch
CreateRoleBinding Method
CreateRoleBinding
rpc CreateRoleBinding(CreateRoleBindingRequest) returns (RoleBinding)
with the following messages:
- CreateRoleBindingRequest request message
- RoleBinding response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.create
The equivalent REST API is:
POST /v1/roleBindings (BODY: role_binding)
POST /v1/{parent=projects/*}/roleBindings
POST /v1/{parent=organizations/*}/roleBindings
POST /v1/{parent=services/*}/roleBindings
UpdateRoleBinding Method
UpdateRoleBinding
rpc UpdateRoleBinding(UpdateRoleBindingRequest) returns (RoleBinding)
with the following messages:
- UpdateRoleBindingRequest request message
- RoleBinding response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.update
The equivalent REST API is:
PUT /v1/{role_binding.name=roleBindings/*} (BODY: role_binding)
PUT /v1/{role_binding.name=projects/*/roleBindings/*}
PUT /v1/{role_binding.name=organizations/*/roleBindings/*}
PUT /v1/{role_binding.name=services/*/roleBindings/*}
DeleteRoleBinding Method
DeleteRoleBinding
rpc DeleteRoleBinding(DeleteRoleBindingRequest) returns (Empty)
with the following messages:
- DeleteRoleBindingRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.delete
The equivalent REST API is:
DELETE /v1/{name=roleBindings/*}
DELETE /v1/{name=projects/*/roleBindings/*}
DELETE /v1/{name=organizations/*/roleBindings/*}
DELETE /v1/{name=services/*/roleBindings/*}
ListRoleBindingsWithMembers Method
ListRoleBindingsWithMembers
rpc ListRoleBindingsWithMembers(ListRoleBindingsWithMembersRequest) returns (ListRoleBindingsWithMembersResponse)
with the following messages:
- ListRoleBindingsWithMembersRequest request message
- ListRoleBindingsWithMembersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/roleBindings.listRoleBindingsWithMembers
The equivalent REST API is:
POST /v1/roleBindings:listRoleBindingsWithMembers
POST /v1/{parent=projects/*}/roleBindings:listRoleBindingsWithMembers
POST /v1/{parent=organizations/*}/roleBindings:listRoleBindingsWithMembers
POST /v1/{parent=services/*}/roleBindings:listRoleBindingsWithMembers
RoleBinding Messages
Here is the list of RoleBinding resource messages:
- RoleBinding message
- RoleBinding.Parent message
- CheckMyRoleBindingsRequest message
- CheckMyRoleBindingsResponse message
- CheckMyRoleBindingsResponse.ResolvableGrant message
- GetRoleBindingRequest message
- BatchGetRoleBindingsRequest message
- BatchGetRoleBindingsResponse message
- ListRoleBindingsRequest message
- ListRoleBindingsResponse message
- WatchRoleBindingRequest message
- WatchRoleBindingResponse message
- WatchRoleBindingsRequest message
- WatchRoleBindingsResponse message
- WatchRoleBindingsResponse.PageTokenChange message
- CreateRoleBindingRequest message
- CreateRoleBindingRequest.ResponseMask message
- UpdateRoleBindingRequest message
- UpdateRoleBindingRequest.CAS message
- UpdateRoleBindingRequest.ResponseMask message
- DeleteRoleBindingRequest message
- ListRoleBindingsWithMembersRequest message
- ListRoleBindingsWithMembersResponse message
RoleBinding Message
Name | Type | Description |
---|---|---|
name | string (name of RoleBinding) | Name of RoleBinding |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
role | string (reference to Role) | Applied role. |
member | string | Binding members Format of the string is one of: - “allUsers” (anyone) - “allAuthenticatedUsers” (anyone logged in from handling service point of view) - “user:admin.super@example.com” - “serviceAccount:device_agent@watchdog.serviceaccounts.iam.edgelq.com” - “group:nice.group@example.com” - “domain:example.com” (anyone with exact email domain) |
scope_params | repeated ScopeParam | All scope params defined as required by a role |
executable_conditions | repeated ExecutableCondition | optional executable conditions to be added to the role binding. They are matched with the executable conditions in a role grants by condition reference. If there is condition defined in RoleBinding, but not in any role grant, then executable condition is applied to all role grants. |
owned_objects | repeated string | List of owned objects WITHIN role binding scope - for example if role binding is a child of project and owner_objects contain some device, member has all possible permissions for this device in project, regardless of method. In case ownership is for whole role binding scope, it will contain “-” string. This is computed based on a role with wildcard grants. |
member_type | string | Member type, its prefix from member before ‘:’ rune, fo example “user”. If member has no ‘:’ (like allUsers), then it will contain same value. |
category | Role.Category | Role category, taken from role itself, allows for additional filtering. |
ancestry_path | repeated RoleBinding.Parent | Internal field used by IAM controller to note role binding ancestry path for Group type (RoleBindings inherited from Group) |
parent_by_org | string (reference to RoleBinding) | Internal field used by IAM controller to note parent role binding from Parent Organization type. It is much different compared to “ancestry_path”, we just need direct parent. This is because it is simpler - controller for this inheritance does not need full ancestry path for loop detection. Groups are complicated and it is legal for two groups containing each other as members. But organization ancestry path does not allow loops, so we can afford simple field! |
spec_generation | int64 | Internal field used to synchronize role binding with role. This value increases when we spec in a role changes in a way requiring role binding resynchronization. |
has_owned_objects | bool | Internal field indicating if role binding has owned objects. It is used for filtering, as its not possible to filter by len(owned_objects) > 0 |
disable_for_child_scopes | bool | If true, then this RoleBinding DOES NOT apply to child entities. TODO: For now IAM Server decides if this RB is not assignable, consider opening this. |
RoleBinding.Parent Message
Provides information about inheritance of this role binding - if it was created from another role binding.
Name | Type | Description |
---|---|---|
parent | string (reference to RoleBinding) | Role bindings which have group as member have child for each service account and user in that group. All those role bindings have one common parent pointing at group role binding |
member | string | Member of the parent role binding |
CheckMyRoleBindingsRequest Message
Request message for method [CheckMyRoleBindings][ntt.iam.v1.CheckMyRoleBindings]
Name | Type | Description |
---|---|---|
parent | string (parent name of RoleBinding) | Scope determines where roles should be looked from - its either system, service, project or organization scope. However, if it contains an organization or project, CheckMyRoles will perform check on all ancestry path (parent organizations). |
filter | string (filter of RoleBinding) | Optional additional filter to apply on role bindings returned Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
custom_field_mask | .google.protobuf.FieldMask | Custom field mask to apply on role bindings. By default, is none is specified, following is used: [ “name”, “role”, “scope_params”, “executable_conditions”, “owned_objects” ]. |
CheckMyRoleBindingsResponse Message
Response message for method [CheckMyRoles][ntt.iam.v1.CheckMyRoles]
Name | Type | Description |
---|---|---|
resolvable_grants | repeated CheckMyRoleBindingsResponse.ResolvableGrant | List of returned role bindings with corresponding grants. |
CheckMyRoleBindingsResponse.ResolvableGrant Message
Name | Type | Description |
---|---|---|
role_binding | RoleBinding | Granted RoleBinding for the scope |
grants | repeated Role.Grant | All grants extracted from the Role |
GetRoleBindingRequest Message
A request message of the GetRoleBinding method.
Name | Type | Description |
---|---|---|
name | string (name of RoleBinding) | Name of ntt.iam.v1.RoleBinding |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetRoleBindingsRequest Message
A request message of the BatchGetRoleBindings method.
Name | Type | Description |
---|---|---|
names | repeated string (name of RoleBinding) | Names of RoleBindings |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetRoleBindingsResponse Message
A response message of the BatchGetRoleBindings method.
Name | Type | Description |
---|---|---|
role_bindings | repeated RoleBinding | found RoleBindings |
missing | repeated string (name of RoleBinding) | list of not found RoleBindings |
ListRoleBindingsRequest Message
A request message of the ListRoleBindings method.
Name | Type | Description |
---|---|---|
parent | string (parent name of RoleBinding) | Parent name of ntt.iam.v1.RoleBinding |
page_size | int32 | Requested page size. Server may return fewer RoleBindings than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of RoleBinding) | A token identifying a page of results the server should return. Typically, this is the value of ListRoleBindingsResponse.next_page_token. |
order_by | string (orderBy of RoleBinding) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of RoleBinding) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListRoleBindingsResponse Message
A response message of the ListRoleBindings method.
Name | Type | Description |
---|---|---|
role_bindings | repeated RoleBinding | The list of RoleBindings |
prev_page_token | string (cursor of RoleBinding) | A token to retrieve previous page of results. Pass this value in the ListRoleBindingsRequest.page_token. |
next_page_token | string (cursor of RoleBinding) | A token to retrieve next page of results. Pass this value in the ListRoleBindingsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total RoleBindings across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchRoleBindingRequest Message
A request message of the WatchRoleBinding method.
Name | Type | Description |
---|---|---|
name | string (name of RoleBinding) | Name of ntt.iam.v1.RoleBinding |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchRoleBindingResponse Message
A response message of the WatchRoleBinding method.
Name | Type | Description |
---|---|---|
change | RoleBindingChange |
WatchRoleBindingsRequest Message
A request message of the WatchRoleBindings method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of RoleBinding) | Parent name of ntt.iam.v1.RoleBinding |
page_size | int32 | Requested page size. Server may return fewer RoleBindings than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of RoleBinding) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of RoleBinding) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of RoleBinding) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to RoleBinding that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to RoleBinding that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchRoleBindingsResponse Message
A response message of the WatchRoleBindings method.
Name | Type | Description |
---|---|---|
role_binding_changes | repeated RoleBindingChange | Changes of RoleBindings |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All RoleBindings will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchRoleBindingsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (RoleBindings will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchRoleBindingsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of RoleBinding) | New token to retrieve previous page of results. |
next_page_token | string (cursor of RoleBinding) | New token to retrieve next page of results. |
CreateRoleBindingRequest Message
A request message of the CreateRoleBinding method.
Name | Type | Description |
---|---|---|
parent | string (parent name of RoleBinding) | Parent name of ntt.iam.v1.RoleBinding |
role_binding | RoleBinding | RoleBinding resource body |
response_mask | CreateRoleBindingRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateRoleBindingRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateRoleBindingRequest Message
A request message of the UpdateRoleBinding method.
Name | Type | Description |
---|---|---|
role_binding | RoleBinding | RoleBinding resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateRoleBindingRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateRoleBindingRequest.ResponseMask | reduce message response size. |
UpdateRoleBindingRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | RoleBinding | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateRoleBindingRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteRoleBindingRequest Message
A request message of the DeleteRoleBinding method.
Name | Type | Description |
---|---|---|
name | string (name of RoleBinding) | Name of ntt.iam.v1.RoleBinding |
ListRoleBindingsWithMembersRequest Message
A request message of the ListRoleBindingsWithMembers method.
Name | Type | Description |
---|---|---|
parent | string (parent name of RoleBinding) | Parent name of ntt.iam.v1.RoleBinding |
page_size | int32 | Requested page size. Server may return fewer RoleBindings than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of RoleBinding) | A token identifying a page of results the server should return. Typically, this is the value of ListRoleBindingsWithMembersResponse.next_page_token. |
order_by | string (orderBy of RoleBinding) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of RoleBinding) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask and user_mask. |
members_masks | MembersMasks | Defines field masks applied to member resources (Users, Service accounts, Groups). |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListRoleBindingsWithMembersResponse Message
A response message of the ListRoleBindingsWithMembers method.
Name | Type | Description |
---|---|---|
role_bindings | repeated RoleBinding | The list of RoleBindings |
matching_members | repeated MembersInfo | List of matching members per each received role binding. |
prev_page_token | string (cursor of RoleBinding) | A token to retrieve previous page of results. Pass this value in the ListRoleBindingsWithMembersRequest.page_token. |
next_page_token | string (cursor of RoleBinding) | A token to retrieve next page of results. Pass this value in the ListRoleBindingsWithMembersRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total RoleBindings across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
ServiceAccount Resource
ServiceAccount Resource
Name patterns:
projects/{project}/regions/{region}/serviceAccounts/{service_account}
Parent resources:
This section covers the methods and messages to interact with ServiceAccount resource.
ServiceAccount Methods
Here is the list of ServiceAccount resource methods:
- GetServiceAccount method
- BatchGetServiceAccounts method
- ListServiceAccounts method
- WatchServiceAccount method
- WatchServiceAccounts method
- CreateServiceAccount method
- UpdateServiceAccount method
- DeleteServiceAccount method
- GetMyAgentShard method
- GetShardEndpoints method
- AddRegionalAdminAccountForServices method
GetServiceAccount Method
GetServiceAccount
rpc GetServiceAccount(GetServiceAccountRequest) returns (ServiceAccount)
with the following messages:
- GetServiceAccountRequest request message
- ServiceAccount response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.get
The equivalent REST API is:
GET /v1/{name=projects/*/regions/*/serviceAccounts/*}
BatchGetServiceAccounts Method
BatchGetServiceAccounts
rpc BatchGetServiceAccounts(BatchGetServiceAccountsRequest) returns (BatchGetServiceAccountsResponse)
with the following messages:
- BatchGetServiceAccountsRequest request message
- BatchGetServiceAccountsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.batchGet
The equivalent REST API is:
GET /v1/serviceAccounts:batchGet
ListServiceAccounts Method
ListServiceAccounts
rpc ListServiceAccounts(ListServiceAccountsRequest) returns (ListServiceAccountsResponse)
with the following messages:
- ListServiceAccountsRequest request message
- ListServiceAccountsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.list
The equivalent REST API is:
GET /v1/{parent=projects/*/regions/*}/serviceAccounts
WatchServiceAccount Method
WatchServiceAccount
rpc WatchServiceAccount(WatchServiceAccountRequest) returns (WatchServiceAccountResponse)
with the following messages:
- WatchServiceAccountRequest request message
- WatchServiceAccountResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.watch
The equivalent REST API is:
POST /v1/{name=projects/*/regions/*/serviceAccounts/*}:watch
WatchServiceAccounts Method
WatchServiceAccounts
rpc WatchServiceAccounts(WatchServiceAccountsRequest) returns (WatchServiceAccountsResponse)
with the following messages:
- WatchServiceAccountsRequest request message
- WatchServiceAccountsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.watch
The equivalent REST API is:
POST /v1/{parent=projects/*/regions/*}/serviceAccounts:watch
CreateServiceAccount Method
CreateServiceAccount
rpc CreateServiceAccount(CreateServiceAccountRequest) returns (ServiceAccount)
with the following messages:
- CreateServiceAccountRequest request message
- ServiceAccount response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.create
The equivalent REST API is:
POST /v1/{parent=projects/*/regions/*}/serviceAccounts (BODY: service_account)
UpdateServiceAccount Method
UpdateServiceAccount
rpc UpdateServiceAccount(UpdateServiceAccountRequest) returns (ServiceAccount)
with the following messages:
- UpdateServiceAccountRequest request message
- ServiceAccount response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.update
The equivalent REST API is:
PUT /v1/{service_account.name=projects/*/regions/*/serviceAccounts/*} (BODY: service_account)
DeleteServiceAccount Method
DeleteServiceAccount
rpc DeleteServiceAccount(DeleteServiceAccountRequest) returns (Empty)
with the following messages:
- DeleteServiceAccountRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*/regions/*/serviceAccounts/*}
GetMyAgentShard Method
GetMyAgentShard
rpc GetMyAgentShard(GetMyAgentShardRequest) returns (GetMyAgentShardResponse)
with the following messages:
- GetMyAgentShardRequest request message
- GetMyAgentShardResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.getMyAgentShard
The equivalent REST API is:
POST /v1/{name=projects/*/regions/*/serviceAccounts/*}:getMyAgentShard
GetShardEndpoints Method
GetShardEndpoints
rpc GetShardEndpoints(GetShardEndpointsRequest) returns (GetShardEndpointsResponse)
with the following messages:
- GetShardEndpointsRequest request message
- GetShardEndpointsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.getShardEndpoints
The equivalent REST API is:
POST /v1:getShardEndpoints
AddRegionalAdminAccountForServices Method
AddRegionalAdminAccountForServices
rpc AddRegionalAdminAccountForServices(AddRegionalAdminAccountForServicesRequest) returns (AddRegionalAdminAccountForServicesResponse)
with the following messages:
- AddRegionalAdminAccountForServicesRequest request message
- AddRegionalAdminAccountForServicesResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccounts.addRegionalAdminAccountForServices
The equivalent REST API is:
POST /v1/{parent=projects/*/regions/*}/serviceAccounts:addRegionalAdminAccountForServices
ServiceAccount Messages
Here is the list of ServiceAccount resource messages:
- ServiceAccount message
- GetServiceAccountRequest message
- BatchGetServiceAccountsRequest message
- BatchGetServiceAccountsResponse message
- ListServiceAccountsRequest message
- ListServiceAccountsResponse message
- WatchServiceAccountRequest message
- WatchServiceAccountResponse message
- WatchServiceAccountsRequest message
- WatchServiceAccountsResponse message
- WatchServiceAccountsResponse.PageTokenChange message
- CreateServiceAccountRequest message
- CreateServiceAccountRequest.ResponseMask message
- UpdateServiceAccountRequest message
- UpdateServiceAccountRequest.CAS message
- UpdateServiceAccountRequest.ResponseMask message
- DeleteServiceAccountRequest message
- GetMyAgentShardRequest message
- GetMyAgentShardResponse message
- GetShardEndpointsRequest message
- GetShardEndpointsResponse message
- AddRegionalAdminAccountForServicesRequest message
- AddRegionalAdminAccountForServicesResponse message
ServiceAccount Message
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | Name of ServiceAccount When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9-_]{0,55}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
display_name | string | Display Name |
description | string | Optional. Description of the account |
string | ||
kind | ServiceAccount.Kind | Agent kind and purpose. Cannot be changed. |
GetServiceAccountRequest Message
A request message of the GetServiceAccount method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | Name of ntt.iam.v1.ServiceAccount |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetServiceAccountsRequest Message
A request message of the BatchGetServiceAccounts method.
Name | Type | Description |
---|---|---|
names | repeated string (name of ServiceAccount) | Names of ServiceAccounts |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetServiceAccountsResponse Message
A response message of the BatchGetServiceAccounts method.
Name | Type | Description |
---|---|---|
service_accounts | repeated ServiceAccount | found ServiceAccounts |
missing | repeated string (name of ServiceAccount) | list of not found ServiceAccounts |
ListServiceAccountsRequest Message
A request message of the ListServiceAccounts method.
Name | Type | Description |
---|---|---|
parent | string (parent name of ServiceAccount) | Parent name of ntt.iam.v1.ServiceAccount |
page_size | int32 | Requested page size. Server may return fewer ServiceAccounts than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of ServiceAccount) | A token identifying a page of results the server should return. Typically, this is the value of ListServiceAccountsResponse.next_page_token. |
order_by | string (orderBy of ServiceAccount) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of ServiceAccount) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListServiceAccountsResponse Message
A response message of the ListServiceAccounts method.
Name | Type | Description |
---|---|---|
service_accounts | repeated ServiceAccount | The list of ServiceAccounts |
prev_page_token | string (cursor of ServiceAccount) | A token to retrieve previous page of results. Pass this value in the ListServiceAccountsRequest.page_token. |
next_page_token | string (cursor of ServiceAccount) | A token to retrieve next page of results. Pass this value in the ListServiceAccountsRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total ServiceAccounts across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchServiceAccountRequest Message
A request message of the WatchServiceAccount method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | Name of ntt.iam.v1.ServiceAccount |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchServiceAccountResponse Message
A response message of the WatchServiceAccount method.
Name | Type | Description |
---|---|---|
change | ServiceAccountChange |
WatchServiceAccountsRequest Message
A request message of the WatchServiceAccounts method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of ServiceAccount) | Parent name of ntt.iam.v1.ServiceAccount |
page_size | int32 | Requested page size. Server may return fewer ServiceAccounts than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of ServiceAccount) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of ServiceAccount) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of ServiceAccount) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ServiceAccount that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ServiceAccount that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchServiceAccountsResponse Message
A response message of the WatchServiceAccounts method.
Name | Type | Description |
---|---|---|
service_account_changes | repeated ServiceAccountChange | Changes of ServiceAccounts |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ServiceAccounts will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchServiceAccountsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ServiceAccounts will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchServiceAccountsResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of ServiceAccount) | New token to retrieve previous page of results. |
next_page_token | string (cursor of ServiceAccount) | New token to retrieve next page of results. |
CreateServiceAccountRequest Message
A request message of the CreateServiceAccount method.
Name | Type | Description |
---|---|---|
parent | string (parent name of ServiceAccount) | Parent name of ntt.iam.v1.ServiceAccount |
service_account | ServiceAccount | ServiceAccount resource body |
response_mask | CreateServiceAccountRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateServiceAccountRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateServiceAccountRequest Message
A request message of the UpdateServiceAccount method.
Name | Type | Description |
---|---|---|
service_account | ServiceAccount | ServiceAccount resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateServiceAccountRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateServiceAccountRequest.ResponseMask | reduce message response size. |
UpdateServiceAccountRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | ServiceAccount | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateServiceAccountRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteServiceAccountRequest Message
A request message of the DeleteServiceAccount method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | Name of ntt.iam.v1.ServiceAccount |
GetMyAgentShardRequest Message
A request message of the GetMyAgentShard method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | Name of ntt.iam.v1.ServiceAccount of Agent type |
GetMyAgentShardResponse Message
A response message of the GetMyAgentShard method.
Name | Type | Description |
---|---|---|
shard_num | int64 |
GetShardEndpointsRequest Message
A request message of the GetShardEndpoints method.
Name | Type | Description |
---|---|---|
shard_num | int64 |
GetShardEndpointsResponse Message
A response message of the GetShardEndpoints method.
Name | Type | Description |
---|---|---|
endpoints | repeated string |
AddRegionalAdminAccountForServicesRequest Message
Request message for method [AddRegionalAdminAccountForServices][ntt.iam.v1.AddRegionalAdminAccountForServices]
Name | Type | Description |
---|---|---|
parent | string (parent name of ServiceAccount) | Parent of ServiceAccount containing Service project and Region. If region is not enabled in project, it will be for this request. |
services | repeated string (name of Service) | List of services in which admin account must participate. They must all belong to the project indicated in the parent. |
admin_account | string (name of ServiceAccount) | Regional service account name that will be an admin for this Service. If it does not exist, it will be created. |
admin_key | ServiceAccountKey | Optional admin account key - must be skipped if admin_account already exists and has key already known by user. If provided, then new ServiceAccountKey will be created. If public key was provided in request, then server will use it. Otherwise it will generate private/public pair and provide both in response. If admin_key already exists and is still provided in request, AlreadyExists will be returned. |
admin_account_project_role | string (name of Role) | Optional Role admin_account will have in the service project. When service is eventually created, admin_account will have full ownership of the Service. However, it wont be able to access Service Project freely - by default minimal role is assigned, that allows to send usage metrics (for example). In some cases it may be necessary for admin_account to have larger access to the service project, for example for devices management. |
AddRegionalAdminAccountForServicesResponse Message
Response message for method [AddRegionalAdminAccountForServices][ntt.iam.v1.AddRegionalAdminAccountForServices]
Name | Type | Description |
---|---|---|
ntt_admin_credentials | ServiceAccount | Service account admin credentials are provided if admin_key was populated in the request object. It will have private key data if public key was not provided in the request admin_key. JSON representation of this object must be saved by the caller as ntt-credentials.json file - it will be required during actual regional application deployment. If user generated private/public pair themselves (and proved public in request object), before saving JSON user will need to populate private key string themselves in the final file. In case of lost credentials, user will need to send DeleteServiceAccountKey and CreateServiceAccountKey requests for admin ServiceAccount - and craft another credentials. |
ServiceAccount Enumerations
Here is the list of ServiceAccount resource enumerations:
- ServiceAccount.Kind enumeration
ServiceAccount.Kind Enumeration
Kind indicates purpose of the service account.
Name | Description |
---|---|
UNSPECIFIED | Any purpose |
AGENT | Agent indicates that ServiceAccount is associated with some single specific resource, like devices.edgelq.com/Device. Agent Service Accounts are automatically sharded and should ideally use dedicated server instances holding their shard. Agent type accounts are allowed to have only RoleBindings in their projects. They cannot have domain role bindings. They can still benefit from AllUsers/AllAuthenticatedUsers role bindings though. |
ServiceAccountKey Resource
ServiceAccountKey Resource
Name patterns:
projects/{project}/regions/{region}/serviceAccounts/{service_account}/serviceAccountKeys/{service_account_key}
Parent resources:
This section covers the methods and messages to interact with ServiceAccountKey resource.
ServiceAccountKey Methods
Here is the list of ServiceAccountKey resource methods:
- GetServiceAccountKey method
- BatchGetServiceAccountKeys method
- ListServiceAccountKeys method
- WatchServiceAccountKey method
- WatchServiceAccountKeys method
- CreateServiceAccountKey method
- UpdateServiceAccountKey method
- DeleteServiceAccountKey method
GetServiceAccountKey Method
GetServiceAccountKey
rpc GetServiceAccountKey(GetServiceAccountKeyRequest) returns (ServiceAccountKey)
with the following messages:
- GetServiceAccountKeyRequest request message
- ServiceAccountKey response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.get
The equivalent REST API is:
GET /v1/{name=projects/*/regions/*/serviceAccounts/*/serviceAccountKeys/*}
BatchGetServiceAccountKeys Method
BatchGetServiceAccountKeys
rpc BatchGetServiceAccountKeys(BatchGetServiceAccountKeysRequest) returns (BatchGetServiceAccountKeysResponse)
with the following messages:
- BatchGetServiceAccountKeysRequest request message
- BatchGetServiceAccountKeysResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.batchGet
The equivalent REST API is:
GET /v1/serviceAccountKeys:batchGet
ListServiceAccountKeys Method
ListServiceAccountKeys
rpc ListServiceAccountKeys(ListServiceAccountKeysRequest) returns (ListServiceAccountKeysResponse)
with the following messages:
- ListServiceAccountKeysRequest request message
- ListServiceAccountKeysResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.list
The equivalent REST API is:
GET /v1/{parent=projects/*/regions/*/serviceAccounts/*}/serviceAccountKeys
WatchServiceAccountKey Method
WatchServiceAccountKey
rpc WatchServiceAccountKey(WatchServiceAccountKeyRequest) returns (WatchServiceAccountKeyResponse)
with the following messages:
- WatchServiceAccountKeyRequest request message
- WatchServiceAccountKeyResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.watch
The equivalent REST API is:
POST /v1/{name=projects/*/regions/*/serviceAccounts/*/serviceAccountKeys/*}:watch
WatchServiceAccountKeys Method
WatchServiceAccountKeys
rpc WatchServiceAccountKeys(WatchServiceAccountKeysRequest) returns (WatchServiceAccountKeysResponse)
with the following messages:
- WatchServiceAccountKeysRequest request message
- WatchServiceAccountKeysResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.watch
The equivalent REST API is:
POST /v1/{parent=projects/*/regions/*/serviceAccounts/*}/serviceAccountKeys:watch
CreateServiceAccountKey Method
CreateServiceAccountKey
rpc CreateServiceAccountKey(CreateServiceAccountKeyRequest) returns (ServiceAccountKey)
with the following messages:
- CreateServiceAccountKeyRequest request message
- ServiceAccountKey response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.create
The equivalent REST API is:
POST /v1/{parent=projects/*/regions/*/serviceAccounts/*}/serviceAccountKeys (BODY: service_account_key)
UpdateServiceAccountKey Method
UpdateServiceAccountKey
rpc UpdateServiceAccountKey(UpdateServiceAccountKeyRequest) returns (ServiceAccountKey)
with the following messages:
- UpdateServiceAccountKeyRequest request message
- ServiceAccountKey response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.update
The equivalent REST API is:
PUT /v1/{service_account_key.name=projects/*/regions/*/serviceAccounts/*/serviceAccountKeys/*} (BODY: service_account_key)
DeleteServiceAccountKey Method
DeleteServiceAccountKey
rpc DeleteServiceAccountKey(DeleteServiceAccountKeyRequest) returns (Empty)
with the following messages:
- DeleteServiceAccountKeyRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/serviceAccountKeys.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*/regions/*/serviceAccounts/*/serviceAccountKeys/*}
ServiceAccountKey Messages
Here is the list of ServiceAccountKey resource messages:
- ServiceAccountKey message
- GetServiceAccountKeyRequest message
- BatchGetServiceAccountKeysRequest message
- BatchGetServiceAccountKeysResponse message
- ListServiceAccountKeysRequest message
- ListServiceAccountKeysResponse message
- WatchServiceAccountKeyRequest message
- WatchServiceAccountKeyResponse message
- WatchServiceAccountKeysRequest message
- WatchServiceAccountKeysResponse message
- WatchServiceAccountKeysResponse.PageTokenChange message
- CreateServiceAccountKeyRequest message
- CreateServiceAccountKeyRequest.ResponseMask message
- UpdateServiceAccountKeyRequest message
- UpdateServiceAccountKeyRequest.CAS message
- UpdateServiceAccountKeyRequest.ResponseMask message
- DeleteServiceAccountKeyRequest message
ServiceAccountKey Message
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccountKey) | Name of ServiceAccountKey When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
display_name | string | Display name |
description | string | Optional. Description of the key |
public_key_data | string | Public key contents |
private_key_data | string | The private key of the pair. This field is only provided in CreateServiceAccountKey responses. Private keys are NOT stored on the server. |
api_key | string | Api key is set if algorithm is equal to API_KEY and provided in CreateServiceAccountKey responses. They are not stored on the server, so caller is obliged to remember its value. If lost, its is necessary to create new key. Api key must be used in authorization header token when making request: - Authorization: “Bearer $API_KEY” Example for curl: $ curl -X GET -H “Authorization: Bearer $API_KEY” -s $URL |
algorithm | ServiceAccountKey.Algorithm | The algorithm used to generate the key. |
valid_not_before | .google.protobuf.Timestamp | The key is not valid before this timestamp. |
valid_not_after | .google.protobuf.Timestamp | The key is not valid after this timestamp. |
GetServiceAccountKeyRequest Message
A request message of the GetServiceAccountKey method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccountKey) | Name of ntt.iam.v1.ServiceAccountKey |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetServiceAccountKeysRequest Message
A request message of the BatchGetServiceAccountKeys method.
Name | Type | Description |
---|---|---|
names | repeated string (name of ServiceAccountKey) | Names of ServiceAccountKeys |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetServiceAccountKeysResponse Message
A response message of the BatchGetServiceAccountKeys method.
Name | Type | Description |
---|---|---|
service_account_keys | repeated ServiceAccountKey | found ServiceAccountKeys |
missing | repeated string (name of ServiceAccountKey) | list of not found ServiceAccountKeys |
ListServiceAccountKeysRequest Message
A request message of the ListServiceAccountKeys method.
Name | Type | Description |
---|---|---|
parent | string (parent name of ServiceAccountKey) | Parent name of ntt.iam.v1.ServiceAccountKey |
page_size | int32 | Requested page size. Server may return fewer ServiceAccountKeys than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of ServiceAccountKey) | A token identifying a page of results the server should return. Typically, this is the value of ListServiceAccountKeysResponse.next_page_token. |
order_by | string (orderBy of ServiceAccountKey) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of ServiceAccountKey) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListServiceAccountKeysResponse Message
A response message of the ListServiceAccountKeys method.
Name | Type | Description |
---|---|---|
service_account_keys | repeated ServiceAccountKey | The list of ServiceAccountKeys |
prev_page_token | string (cursor of ServiceAccountKey) | A token to retrieve previous page of results. Pass this value in the ListServiceAccountKeysRequest.page_token. |
next_page_token | string (cursor of ServiceAccountKey) | A token to retrieve next page of results. Pass this value in the ListServiceAccountKeysRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total ServiceAccountKeys across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchServiceAccountKeyRequest Message
A request message of the WatchServiceAccountKey method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccountKey) | Name of ntt.iam.v1.ServiceAccountKey |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchServiceAccountKeyResponse Message
A response message of the WatchServiceAccountKey method.
Name | Type | Description |
---|---|---|
change | ServiceAccountKeyChange |
WatchServiceAccountKeysRequest Message
A request message of the WatchServiceAccountKeys method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
parent | string (parent name of ServiceAccountKey) | Parent name of ntt.iam.v1.ServiceAccountKey |
page_size | int32 | Requested page size. Server may return fewer ServiceAccountKeys than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of ServiceAccountKey) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of ServiceAccountKey) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of ServiceAccountKey) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ServiceAccountKey that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ServiceAccountKey that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchServiceAccountKeysResponse Message
A response message of the WatchServiceAccountKeys method.
Name | Type | Description |
---|---|---|
service_account_key_changes | repeated ServiceAccountKeyChange | Changes of ServiceAccountKeys |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ServiceAccountKeys will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchServiceAccountKeysResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ServiceAccountKeys will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchServiceAccountKeysResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of ServiceAccountKey) | New token to retrieve previous page of results. |
next_page_token | string (cursor of ServiceAccountKey) | New token to retrieve next page of results. |
CreateServiceAccountKeyRequest Message
A request message of the CreateServiceAccountKey method.
Name | Type | Description |
---|---|---|
parent | string (parent name of ServiceAccountKey) | Parent name of ntt.iam.v1.ServiceAccountKey |
service_account_key | ServiceAccountKey | ServiceAccountKey resource body |
response_mask | CreateServiceAccountKeyRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateServiceAccountKeyRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateServiceAccountKeyRequest Message
A request message of the UpdateServiceAccountKey method.
Name | Type | Description |
---|---|---|
service_account_key | ServiceAccountKey | ServiceAccountKey resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateServiceAccountKeyRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateServiceAccountKeyRequest.ResponseMask | reduce message response size. |
UpdateServiceAccountKeyRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | ServiceAccountKey | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateServiceAccountKeyRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteServiceAccountKeyRequest Message
A request message of the DeleteServiceAccountKey method.
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccountKey) | Name of ntt.iam.v1.ServiceAccountKey |
ServiceAccountKey Enumerations
Here is the list of ServiceAccountKey resource enumerations:
- ServiceAccountKey.Algorithm enumeration
ServiceAccountKey.Algorithm Enumeration
Name | Description |
---|---|
KEY_ALGORITHM_UNSPECIFIED | |
RSA_1024 | |
RSA_2048 | |
RSA_4096 | |
API_KEY |
User Resource
User Resource
Name patterns:
users/{user}
This section covers the methods and messages to interact with User resource.
User Methods
Here is the list of User resource methods:
- GetUser method
- BatchGetUsers method
- ListUsers method
- WatchUser method
- WatchUsers method
- CreateUser method
- UpdateUser method
- DeleteUser method
- GetUserByEmail method
- BatchGetUsersByEmail method
- GetMySettings method
- SetMySettings method
- RefreshUserFromIdToken method
- ResendVerificationEmail method
- IsUserVerified method
- ResetMFAIfRecoveryKeyUsed method
- SetUsersNameInAuth0 method
- DeleteUsersByCriteria method
GetUser Method
GetUser
rpc GetUser(GetUserRequest) returns (User)
with the following messages:
- GetUserRequest request message
- User response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.get
The equivalent REST API is:
GET /v1/{name=users/*}
BatchGetUsers Method
BatchGetUsers
rpc BatchGetUsers(BatchGetUsersRequest) returns (BatchGetUsersResponse)
with the following messages:
- BatchGetUsersRequest request message
- BatchGetUsersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.batchGet
The equivalent REST API is:
GET /v1/users:batchGet
ListUsers Method
ListUsers
rpc ListUsers(ListUsersRequest) returns (ListUsersResponse)
with the following messages:
- ListUsersRequest request message
- ListUsersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.list
The equivalent REST API is:
GET /v1/users
WatchUser Method
WatchUser
rpc WatchUser(WatchUserRequest) returns (WatchUserResponse)
with the following messages:
- WatchUserRequest request message
- WatchUserResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.watch
The equivalent REST API is:
POST /v1/{name=users/*}:watch
WatchUsers Method
WatchUsers
rpc WatchUsers(WatchUsersRequest) returns (WatchUsersResponse)
with the following messages:
- WatchUsersRequest request message
- WatchUsersResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.watch
The equivalent REST API is:
POST /v1/users:watch
CreateUser Method
CreateUser
rpc CreateUser(CreateUserRequest) returns (User)
with the following messages:
- CreateUserRequest request message
- User response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.create
The equivalent REST API is:
POST /v1/users (BODY: user)
UpdateUser Method
UpdateUser
rpc UpdateUser(UpdateUserRequest) returns (User)
with the following messages:
- UpdateUserRequest request message
- User response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.update
The equivalent REST API is:
PUT /v1/{user.name=users/*} (BODY: user)
DeleteUser Method
DeleteUser
rpc DeleteUser(DeleteUserRequest) returns (Empty)
with the following messages:
- DeleteUserRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.delete
The equivalent REST API is:
DELETE /v1/{name=users/*}
GetUserByEmail Method
GetUserByEmail
rpc GetUserByEmail(GetUserByEmailRequest) returns (User)
with the following messages:
- GetUserByEmailRequest request message
- User response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.getByEmail
The equivalent REST API is:
POST /v1:getByEmail
BatchGetUsersByEmail Method
BatchGetUsersByEmail
rpc BatchGetUsersByEmail(BatchGetUsersByEmailRequest) returns (BatchGetUsersByEmailResponse)
with the following messages:
- BatchGetUsersByEmailRequest request message
- BatchGetUsersByEmailResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.batchGetByEmail
The equivalent REST API is:
POST /v1/users:batchGetByEmail
GetMySettings Method
GetMySettings
rpc GetMySettings(GetMySettingsRequest) returns (GetMySettingsResponse)
with the following messages:
- GetMySettingsRequest request message
- GetMySettingsResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.getMySettings
The equivalent REST API is:
POST /v1/users:getMySettings
SetMySettings Method
SetMySettings
rpc SetMySettings(SetMySettingsRequest) returns (Empty)
with the following messages:
- SetMySettingsRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.setMySettings
The equivalent REST API is:
POST /v1/users:setMySettings
RefreshUserFromIdToken Method
RefreshUserFromIdToken
rpc RefreshUserFromIdToken(RefreshUserFromIdTokenRequest) returns (RefreshUserFromIdTokenResponse)
with the following messages:
- RefreshUserFromIdTokenRequest request message
- RefreshUserFromIdTokenResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.refreshUserFromIdToken
The equivalent REST API is:
POST /v1/users:refreshUserFromIdToken
ResendVerificationEmail Method
ResendVerificationEmail
rpc ResendVerificationEmail(ResendVerificationEmailRequest) returns (Empty)
with the following messages:
- ResendVerificationEmailRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.resendVerificationEmail
The equivalent REST API is:
POST /v1/users:resendVerificationEmail
IsUserVerified Method
IsUserVerified
rpc IsUserVerified(IsUserVerifiedRequest) returns (Empty)
with the following messages:
- IsUserVerifiedRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.isUserVerified
The equivalent REST API is:
POST /v1/users:isUserVerified
ResetMFAIfRecoveryKeyUsed Method
ResetMFAIfRecoveryKeyUsed
rpc ResetMFAIfRecoveryKeyUsed(ResetMFAIfRecoveryKeyUsedRequest) returns (Empty)
with the following messages:
- ResetMFAIfRecoveryKeyUsedRequest request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.resetMFAIfRecoveryKeyUsed
The equivalent REST API is:
POST /v1/users:resetMFAIfRecoveryKeyUsed
SetUsersNameInAuth0 Method
SetUsersNameInAuth0
rpc SetUsersNameInAuth0(SetUsersNameInAuth0Request) returns (Empty)
with the following messages:
- SetUsersNameInAuth0Request request message
- Empty response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.setUsersNameInAuth0
The equivalent REST API is:
POST /v1/users:setUsersNameInAuth0
DeleteUsersByCriteria Method
DeleteUsersByCriteria
rpc DeleteUsersByCriteria(DeleteUsersByCriteriaRequest) returns (DeleteUsersByCriteriaResponse)
with the following messages:
- DeleteUsersByCriteriaRequest request message
- DeleteUsersByCriteriaResponse response message
Required Permissions:
- services/iam.edgelq.com/permissions/users.deleteUsersByCriteria
The equivalent REST API is:
POST /v1:deleteUsersByCriteria
User Messages
Here is the list of User resource messages:
- User message
- User.AuthInfo message
- User.WorkStatus message
- GetUserRequest message
- BatchGetUsersRequest message
- BatchGetUsersResponse message
- ListUsersRequest message
- ListUsersResponse message
- WatchUserRequest message
- WatchUserResponse message
- WatchUsersRequest message
- WatchUsersResponse message
- WatchUsersResponse.PageTokenChange message
- CreateUserRequest message
- CreateUserRequest.ResponseMask message
- UpdateUserRequest message
- UpdateUserRequest.CAS message
- UpdateUserRequest.ResponseMask message
- DeleteUserRequest message
- GetUserByEmailRequest message
- BatchGetUsersByEmailRequest message
- BatchGetUsersByEmailResponse message
- GetMySettingsRequest message
- GetMySettingsResponse message
- SetMySettingsRequest message
- RefreshUserFromIdTokenRequest message
- RefreshUserFromIdTokenResponse message
- ResendVerificationEmailRequest message
- IsUserVerifiedRequest message
- ResetMFAIfRecoveryKeyUsedRequest message
- SetUsersNameInAuth0Request message
- DeleteUsersByCriteriaRequest message
- DeleteUsersByCriteriaRequest.UserEmails message
- DeleteUsersByCriteriaRequest.UserNames message
- DeleteUsersByCriteriaResponse message
User Message
Name | Type | Description |
---|---|---|
name | string (name of User) | Name of User When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
full_name | string | Full Name |
string | ||
email_verified | bool | Is email verified |
auth_info | User.AuthInfo | |
settings | map<string, string> | User settings and preferences |
refreshed_time | .google.protobuf.Timestamp | |
ctrl_status | User.WorkStatus | Internal status used by controller. |
User.AuthInfo Message
Name | Type | Description |
---|---|---|
provider | string | auth provider |
id | string | auth provider id |
User.WorkStatus Message
Name | Type | Description |
---|---|---|
pending | bool | if controller has some work on this resource |
GetUserRequest Message
A request message of the GetUser method.
Name | Type | Description |
---|---|---|
name | string (name of User) | Name of ntt.iam.v1.User |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetUsersRequest Message
A request message of the BatchGetUsers method.
Name | Type | Description |
---|---|---|
names | repeated string (name of User) | Names of Users |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetUsersResponse Message
A response message of the BatchGetUsers method.
Name | Type | Description |
---|---|---|
users | repeated User | found Users |
missing | repeated string (name of User) | list of not found Users |
ListUsersRequest Message
A request message of the ListUsers method.
Name | Type | Description |
---|---|---|
page_size | int32 | Requested page size. Server may return fewer Users than requested. If unspecified, server will pick an appropriate default. |
page_token | string (cursor of User) | A token identifying a page of results the server should return. Typically, this is the value of ListUsersResponse.next_page_token. |
order_by | string (orderBy of User) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
filter | string (filter of User) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListUsersResponse Message
A response message of the ListUsers method.
Name | Type | Description |
---|---|---|
users | repeated User | The list of Users |
prev_page_token | string (cursor of User) | A token to retrieve previous page of results. Pass this value in the ListUsersRequest.page_token. |
next_page_token | string (cursor of User) | A token to retrieve next page of results. Pass this value in the ListUsersRequest.page_token. |
current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
total_results_count | int32 | Number of total Users across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchUserRequest Message
A request message of the WatchUser method.
Name | Type | Description |
---|---|---|
name | string (name of User) | Name of ntt.iam.v1.User |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchUserResponse Message
A response message of the WatchUser method.
Name | Type | Description |
---|---|---|
change | UserChange |
WatchUsersRequest Message
A request message of the WatchUsers method.
Name | Type | Description |
---|---|---|
type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
page_size | int32 | Requested page size. Server may return fewer Users than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
page_token | string (cursor of User) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
order_by | string (orderBy of User) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
filter | string (filter of User) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to User that don’t affect any of masked fields won’t be sent back. |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to User that don’t affect any of masked fields won’t be sent back. |
max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchUsersResponse Message
A response message of the WatchUsers method.
Name | Type | Description |
---|---|---|
user_changes | repeated UserChange | Changes of Users |
is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Users will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
page_token_change | WatchUsersResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Users will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchUsersResponse.PageTokenChange Message
Name | Type | Description |
---|---|---|
prev_page_token | string (cursor of User) | New token to retrieve previous page of results. |
next_page_token | string (cursor of User) | New token to retrieve next page of results. |
CreateUserRequest Message
A request message of the CreateUser method.
Name | Type | Description |
---|---|---|
user | User | User resource body |
response_mask | CreateUserRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateUserRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateUserRequest Message
A request message of the UpdateUser method.
Name | Type | Description |
---|---|---|
user | User | User resource body |
update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
cas | UpdateUserRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
response_mask | UpdateUserRequest.ResponseMask | reduce message response size. |
UpdateUserRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.
Name | Type | Description |
---|---|---|
conditional_state | User | Conditional desired state of a resource before update. |
field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateUserRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
Name | Type | Description |
---|---|---|
skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteUserRequest Message
A request message of the DeleteUser method.
Name | Type | Description |
---|---|---|
name | string (name of User) | Name of ntt.iam.v1.User |
GetUserByEmailRequest Message
Request message for method [GetUserByEmail][ntt.iam.v1.GetUserByEmail]
Name | Type | Description |
---|---|---|
string | reference of ntt.iam.v1.User | |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
skip_cache | bool | If true, server will skip checking if query result is present in it’s cache |
BatchGetUsersByEmailRequest Message
Request message for method [BatchGetUsersByEmail][ntt.iam.v1.BatchGetUsersByEmail]
Name | Type | Description |
---|---|---|
emails | repeated string | Emails of users |
field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
skip_cache | bool | If true, server will skip checking if query result is present in it’s cache |
BatchGetUsersByEmailResponse Message
Response message for method [BatchGetUsersByEmail][ntt.iam.v1.BatchGetUsersByEmail]
Name | Type | Description |
---|---|---|
users | repeated User | found Users |
missing | repeated string | list of not found user emails |
GetMySettingsRequest Message
Request message for method [GetMySettings][ntt.iam.v1.GetMySettings]
Name | Type | Description |
---|---|---|
keys | repeated string | list of keys to retrieve |
GetMySettingsResponse Message
Response message for method [GetMySettings][ntt.iam.v1.GetMySettings]
Name | Type | Description |
---|---|---|
settings | map<string, string> | resulting settings |
SetMySettingsRequest Message
Request message for method [SetMySettings][ntt.iam.v1.SetMySettings]
Name | Type | Description |
---|---|---|
settings | map<string, string> | Settings to update. Leave empty value to unset key |
RefreshUserFromIdTokenRequest Message
Request message for method [RefreshUserFromIdToken][ntt.iam.v1.RefreshUserFromIdToken]
Name | Type | Description |
---|---|---|
id_token | string | JWT-encoded ID token |
RefreshUserFromIdTokenResponse Message
Response message for method [RefreshUserFromIdToken][ntt.iam.v1.RefreshUserFromIdToken]
Name | Type | Description |
---|---|---|
none | none | none |
ResendVerificationEmailRequest Message
Request message for method [ResendVerificationEmail][ntt.iam.v1.ResendVerificationEmail]
Name | Type | Description |
---|---|---|
client_id | string | Optional Auth client ID. May be defined per application to customize email template. |
IsUserVerifiedRequest Message
Request message for method [IsUserVerified][ntt.iam.v1.IsUserVerified]
Name | Type | Description |
---|---|---|
none | none | none |
ResetMFAIfRecoveryKeyUsedRequest Message
Request message for method [ResetMFAIfRecoveryKeyUsed][ntt.iam.v1.ResetMFAIfRecoveryKeyUsed]
Name | Type | Description |
---|---|---|
none | none | none |
SetUsersNameInAuth0Request Message
Request message for method [SetUsersNameInAuth0][ntt.iam.v1.SetUsersNameInAuth0]
Name | Type | Description |
---|---|---|
none | none | none |
DeleteUsersByCriteriaRequest Message
Request message for method [DeleteUsersByCriteria][ntt.iam.v1.DeleteUsersByCriteria]
Name | Type | Description |
---|---|---|
by_email | DeleteUsersByCriteriaRequest.UserEmails | Delete by email criteria |
by_name | DeleteUsersByCriteriaRequest.UserNames | Delete by name criteria |
auth_info_provider | string | Auth info provider type. Optional. If provided, it must match deleted user instances - field auth_info.provider must exactly match specified value. |
auth_info_id_prefix | string | Auth info ID prefix. Optional. If provided, it must match deleted user instances - field auth_info.id must begin with specified prefix. |
DeleteUsersByCriteriaRequest.UserEmails Message
Name | Type | Description |
---|---|---|
values | repeated string |
DeleteUsersByCriteriaRequest.UserNames Message
Name | Type | Description |
---|---|---|
values | repeated string (name of User) |
DeleteUsersByCriteriaResponse Message
Response message for method [DeleteUserByCriteria][ntt.iam.v1.DeleteUserByCriteria]
Name | Type | Description |
---|---|---|
deleted_users | repeated string (name of User) | List of deleted user resources |
IAM Service Shared Methods and Messages
IAM Service Shared Methods
Here is the list of IAM service shared methods:
- GetPrincipal method
- WatchPrincipalUpdates method
GetPrincipal Method
GetPrincipal
rpc GetPrincipal(GetPrincipalRequest) returns (GetPrincipalResponse)
WatchPrincipalUpdates Method
WatchPrincipalUpdates
rpc WatchPrincipalUpdates(WatchPrincipalUpdatesRequest) returns (WatchPrincipalUpdatesResponse)
IAM Service Shared Messages
Here is the list of IAM service shared messages:
- Actor message
- AttestationDomainChange message
- AttestationDomainChange.Added message
- AttestationDomainChange.Current message
- AttestationDomainChange.Modified message
- AttestationDomainChange.Removed message
- ConditionChange message
- ConditionChange.Added message
- ConditionChange.Current message
- ConditionChange.Modified message
- ConditionChange.Removed message
- ExecutableCondition message
- GetPrincipalRequest message
- GetPrincipalResponse message
- GroupChange message
- GroupChange.Added message
- GroupChange.Current message
- GroupChange.Modified message
- GroupChange.Removed message
- GroupMemberChange message
- GroupMemberChange.Added message
- GroupMemberChange.Current message
- GroupMemberChange.Modified message
- GroupMemberChange.Removed message
- Invitation message
- Invitation.BindingRole message
- MemberAssignmentChange message
- MemberAssignmentChange.Added message
- MemberAssignmentChange.Current message
- MemberAssignmentChange.Modified message
- MemberAssignmentChange.Removed message
- MembersInfo message
- MembersMasks message
- OrganizationChange message
- OrganizationChange.Added message
- OrganizationChange.Current message
- OrganizationChange.Modified message
- OrganizationChange.Removed message
- OrganizationInvitationChange message
- OrganizationInvitationChange.Added message
- OrganizationInvitationChange.Current message
- OrganizationInvitationChange.Modified message
- OrganizationInvitationChange.Removed message
- PCR message
- PermissionChange message
- PermissionChange.Added message
- PermissionChange.Current message
- PermissionChange.Modified message
- PermissionChange.Removed message
- ProjectChange message
- ProjectChange.Added message
- ProjectChange.Current message
- ProjectChange.Modified message
- ProjectChange.Removed message
- ProjectInvitationChange message
- ProjectInvitationChange.Added message
- ProjectInvitationChange.Current message
- ProjectInvitationChange.Modified message
- ProjectInvitationChange.Removed message
- RoleBindingChange message
- RoleBindingChange.Added message
- RoleBindingChange.Current message
- RoleBindingChange.Modified message
- RoleBindingChange.Removed message
- RoleChange message
- RoleChange.Added message
- RoleChange.Current message
- RoleChange.Modified message
- RoleChange.Removed message
- ScopeParam message
- ScopeParam.ArrayOfStringsValue message
- ScopeParam.FromValue message
- ScopeParam.StringValue message
- ServiceAccountChange message
- ServiceAccountChange.Added message
- ServiceAccountChange.Current message
- ServiceAccountChange.Modified message
- ServiceAccountChange.Removed message
- ServiceAccountKeyChange message
- ServiceAccountKeyChange.Added message
- ServiceAccountKeyChange.Current message
- ServiceAccountKeyChange.Modified message
- ServiceAccountKeyChange.Removed message
- ServiceBusinessTier message
- ServiceErrors message
- ServiceErrors.Error message
- UserChange message
- UserChange.Added message
- UserChange.Current message
- UserChange.Modified message
- UserChange.Removed message
- WatchPrincipalUpdatesRequest message
- WatchPrincipalUpdatesResponse message
- WatchPrincipalUpdatesResponse.CurrentPrincipal message
- WatchPrincipalUpdatesResponse.RemovedPrincipal message
Actor Message
Actor is a party performing an action
Name | Type | Description |
---|---|---|
user | string (reference to User) | |
service_account | string (reference to ServiceAccount) |
AttestationDomainChange Message
AttestationDomainChange is used by Watch notifications Responses to describe change of single AttestationDomain One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | AttestationDomainChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | AttestationDomainChange.Modified | Modified is returned when watched document is modified |
current | AttestationDomainChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | AttestationDomainChange.Removed | Removed is returned when AttestationDomain is deleted or leaves Query view |
AttestationDomainChange.Added Message
AttestationDomain has been added to query view
Name | Type | Description |
---|---|---|
attestation_domain | AttestationDomain | |
view_index | int32 | Integer describing index of added AttestationDomain in resulting query view. |
AttestationDomainChange.Current Message
AttestationDomain has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
attestation_domain | AttestationDomain |
AttestationDomainChange.Modified Message
AttestationDomain changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of AttestationDomain) | Name of modified AttestationDomain |
attestation_domain | AttestationDomain | New version of AttestationDomain or masked difference, depending on mask_changes instrumentation of issued [WatchAttestationDomainRequest] or [WatchAttestationDomainsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified AttestationDomain. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying AttestationDomain new index in resulting query view. |
AttestationDomainChange.Removed Message
Removed is returned when AttestationDomain is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of AttestationDomain) | |
view_index | int32 | Integer specifying removed AttestationDomain index. Not populated in stateless watch type. |
ConditionChange Message
ConditionChange is used by Watch notifications Responses to describe change of single Condition One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | ConditionChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | ConditionChange.Modified | Modified is returned when watched document is modified |
current | ConditionChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | ConditionChange.Removed | Removed is returned when Condition is deleted or leaves Query view |
ConditionChange.Added Message
Condition has been added to query view
Name | Type | Description |
---|---|---|
condition | Condition | |
view_index | int32 | Integer describing index of added Condition in resulting query view. |
ConditionChange.Current Message
Condition has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
condition | Condition |
ConditionChange.Modified Message
Condition changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of Condition) | Name of modified Condition |
condition | Condition | New version of Condition or masked difference, depending on mask_changes instrumentation of issued [WatchConditionRequest] or [WatchConditionsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified Condition. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying Condition new index in resulting query view. |
ConditionChange.Removed Message
Removed is returned when Condition is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of Condition) | |
view_index | int32 | Integer specifying removed Condition index. Not populated in stateless watch type. |
ExecutableCondition Message
ExecutableCondition represents instantiation of condition with params, in other words: Executable condition, that is used in Role bindings.
Name | Type | Description |
---|---|---|
condition | string (reference to Condition) | Reference to Condition which may also be parameterized |
params | .google.protobuf.Struct | Parameters in string form. Parameters must match [declarations][ntt.iam.v1.Condition.parameter_declarations] TODO: Only used by deprecated CEL conditions. |
GetPrincipalRequest Message
Request message for method [GetPrincipal][ntt.iam.v1.GetPrincipal]
Name | Type | Description |
---|---|---|
requesting_service | string (name of Service) | Service asking for given principal - IAM verifies if given principal has any role bindings in requesting service. |
principal_key_id | string | Principal ID, different for users or service accounts |
auth_token | string | User authorization token |
GetPrincipalResponse Message
Response message for method [GetPrincipal][ntt.iam.v1.GetPrincipal]
Name | Type | Description |
---|---|---|
json_key | string | Public json key |
principal_key_type | string | Key type |
user | User | User data mapping principal |
service_account | ServiceAccount | Service account mapping principal |
anonymous | bool | Anonymous principal |
GroupChange Message
GroupChange is used by Watch notifications Responses to describe change of single Group One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | GroupChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | GroupChange.Modified | Modified is returned when watched document is modified |
current | GroupChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | GroupChange.Removed | Removed is returned when Group is deleted or leaves Query view |
GroupChange.Added Message
Group has been added to query view
Name | Type | Description |
---|---|---|
group | Group | |
view_index | int32 | Integer describing index of added Group in resulting query view. |
GroupChange.Current Message
Group has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
group | Group |
GroupChange.Modified Message
Group changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of Group) | Name of modified Group |
group | Group | New version of Group or masked difference, depending on mask_changes instrumentation of issued [WatchGroupRequest] or [WatchGroupsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified Group. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying Group new index in resulting query view. |
GroupChange.Removed Message
Removed is returned when Group is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of Group) | |
view_index | int32 | Integer specifying removed Group index. Not populated in stateless watch type. |
GroupMemberChange Message
GroupMemberChange is used by Watch notifications Responses to describe change of single GroupMember One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | GroupMemberChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | GroupMemberChange.Modified | Modified is returned when watched document is modified |
current | GroupMemberChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | GroupMemberChange.Removed | Removed is returned when GroupMember is deleted or leaves Query view |
GroupMemberChange.Added Message
GroupMember has been added to query view
Name | Type | Description |
---|---|---|
group_member | GroupMember | |
view_index | int32 | Integer describing index of added GroupMember in resulting query view. |
GroupMemberChange.Current Message
GroupMember has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
group_member | GroupMember |
GroupMemberChange.Modified Message
GroupMember changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of GroupMember) | Name of modified GroupMember |
group_member | GroupMember | New version of GroupMember or masked difference, depending on mask_changes instrumentation of issued [WatchGroupMemberRequest] or [WatchGroupMembersRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified GroupMember. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying GroupMember new index in resulting query view. |
GroupMemberChange.Removed Message
Removed is returned when GroupMember is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of GroupMember) | |
view_index | int32 | Integer specifying removed GroupMember index. Not populated in stateless watch type. |
Invitation Message
Common invitation body. It’s used in Project/Organization Invitations
Name | Type | Description |
---|---|---|
invitee_email | string | Invitee Email address |
inviter_actor | Actor | Inviter User |
inviter_full_name | string | Denormalized data - TODO: remove it |
inviter_email | string | Inviter Email |
language_code | string | Invitation ISO language code. Defaults to “en-us” (American English). |
binding_roles | repeated Invitation.BindingRole | List of role bindings for this invitation. They are used for creation of proper RoleBinding resources. |
groups | repeated string (reference to Group) | List of groups where invitee should join after accepting invitation |
expiration_date | .google.protobuf.Timestamp | Expiration date |
extras | map<string, string> | Extra custom fields to further customize invitation experience. Fields should be agreed between sender (usually UI) and documented in the template of email service provider. |
state | Invitation.State | Status of Invitation |
Invitation.BindingRole Message
BindingRole is used to create RoleBinding when invitation is accepted.
Name | Type | Description |
---|---|---|
role | string (reference to Role) | Role to be granted |
executable_conditions | repeated ExecutableCondition | List of all applicable condition bindings to be applied when creating RoleBinding. |
scope_params | repeated ScopeParam | List of applicable scope params to be applied when creating RoleBinding. |
MemberAssignmentChange Message
MemberAssignmentChange is used by Watch notifications Responses to describe change of single MemberAssignment One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | MemberAssignmentChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | MemberAssignmentChange.Modified | Modified is returned when watched document is modified |
current | MemberAssignmentChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | MemberAssignmentChange.Removed | Removed is returned when MemberAssignment is deleted or leaves Query view |
MemberAssignmentChange.Added Message
MemberAssignment has been added to query view
Name | Type | Description |
---|---|---|
member_assignment | MemberAssignment | |
view_index | int32 | Integer describing index of added MemberAssignment in resulting query view. |
MemberAssignmentChange.Current Message
MemberAssignment has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
member_assignment | MemberAssignment |
MemberAssignmentChange.Modified Message
MemberAssignment changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of MemberAssignment) | Name of modified MemberAssignment |
member_assignment | MemberAssignment | New version of MemberAssignment or masked difference, depending on mask_changes instrumentation of issued [WatchMemberAssignmentRequest] or [WatchMemberAssignmentsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified MemberAssignment. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying MemberAssignment new index in resulting query view. |
MemberAssignmentChange.Removed Message
Removed is returned when MemberAssignment is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of MemberAssignment) | |
view_index | int32 | Integer specifying removed MemberAssignment index. Not populated in stateless watch type. |
MembersInfo Message
MembersInfo maps Users, ServiceAccounts or Groups to specific member data.
Name | Type | Description |
---|---|---|
member | string | Member identifier - as in format used in RoleBindings/GroupMembers. |
users | repeated User | List of users. May contain more than 1 item, if there are multiple users sharing same email. Array may be empty if member is for service account or group type, or if no user exists with specified email. |
service_accounts | repeated ServiceAccount | List of service accounts. It will be empty if member matches user or group type, or if no matching ServiceAccount was found. Length of this array is from 0 to 1. |
groups | repeated Group | List of groups. It will be empty if member matches user or service account type, or if no matching Group was found. Length of this array is from 0 to 1. |
MembersMasks Message
MembersMasks determines what fields should be obtained for matching members to GroupMembers.
Name | Type | Description |
---|---|---|
view | View | View defines list of standard response fields present in member items. Additional fields can be amended by specific field masks. |
user_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each member User on top of fields defined by request field view |
service_account_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each member ServiceAccount on top of fields defined by request field view |
group_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each member Group on top of fields defined by request field view |
OrganizationChange Message
OrganizationChange is used by Watch notifications Responses to describe change of single Organization One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | OrganizationChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | OrganizationChange.Modified | Modified is returned when watched document is modified |
current | OrganizationChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | OrganizationChange.Removed | Removed is returned when Organization is deleted or leaves Query view |
OrganizationChange.Added Message
Organization has been added to query view
Name | Type | Description |
---|---|---|
organization | Organization | |
view_index | int32 | Integer describing index of added Organization in resulting query view. |
OrganizationChange.Current Message
Organization has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
organization | Organization |
OrganizationChange.Modified Message
Organization changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of Organization) | Name of modified Organization |
organization | Organization | New version of Organization or masked difference, depending on mask_changes instrumentation of issued [WatchOrganizationRequest] or [WatchOrganizationsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified Organization. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying Organization new index in resulting query view. |
OrganizationChange.Removed Message
Removed is returned when Organization is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of Organization) | |
view_index | int32 | Integer specifying removed Organization index. Not populated in stateless watch type. |
OrganizationInvitationChange Message
OrganizationInvitationChange is used by Watch notifications Responses to describe change of single OrganizationInvitation One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | OrganizationInvitationChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | OrganizationInvitationChange.Modified | Modified is returned when watched document is modified |
current | OrganizationInvitationChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | OrganizationInvitationChange.Removed | Removed is returned when OrganizationInvitation is deleted or leaves Query view |
OrganizationInvitationChange.Added Message
OrganizationInvitation has been added to query view
Name | Type | Description |
---|---|---|
organization_invitation | OrganizationInvitation | |
view_index | int32 | Integer describing index of added OrganizationInvitation in resulting query view. |
OrganizationInvitationChange.Current Message
OrganizationInvitation has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
organization_invitation | OrganizationInvitation |
OrganizationInvitationChange.Modified Message
OrganizationInvitation changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | Name of modified OrganizationInvitation |
organization_invitation | OrganizationInvitation | New version of OrganizationInvitation or masked difference, depending on mask_changes instrumentation of issued [WatchOrganizationInvitationRequest] or [WatchOrganizationInvitationsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified OrganizationInvitation. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying OrganizationInvitation new index in resulting query view. |
OrganizationInvitationChange.Removed Message
Removed is returned when OrganizationInvitation is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of OrganizationInvitation) | |
view_index | int32 | Integer specifying removed OrganizationInvitation index. Not populated in stateless watch type. |
PCR Message
Name | Type | Description |
---|---|---|
index | uint32s | |
digest_hex | string | Hex-encoded digest string (without 0x prefix, e.g. “DEADBEEF”) |
digest_alg | DigestAlg | |
comment | string | User’s comments for this entry |
PermissionChange Message
PermissionChange is used by Watch notifications Responses to describe change of single Permission One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | PermissionChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | PermissionChange.Modified | Modified is returned when watched document is modified |
current | PermissionChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | PermissionChange.Removed | Removed is returned when Permission is deleted or leaves Query view |
PermissionChange.Added Message
Permission has been added to query view
Name | Type | Description |
---|---|---|
permission | Permission | |
view_index | int32 | Integer describing index of added Permission in resulting query view. |
PermissionChange.Current Message
Permission has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
permission | Permission |
PermissionChange.Modified Message
Permission changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of Permission) | Name of modified Permission |
permission | Permission | New version of Permission or masked difference, depending on mask_changes instrumentation of issued [WatchPermissionRequest] or [WatchPermissionsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified Permission. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying Permission new index in resulting query view. |
PermissionChange.Removed Message
Removed is returned when Permission is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of Permission) | |
view_index | int32 | Integer specifying removed Permission index. Not populated in stateless watch type. |
ProjectChange Message
ProjectChange is used by Watch notifications Responses to describe change of single Project One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | ProjectChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | ProjectChange.Modified | Modified is returned when watched document is modified |
current | ProjectChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | ProjectChange.Removed | Removed is returned when Project is deleted or leaves Query view |
ProjectChange.Added Message
Project has been added to query view
Name | Type | Description |
---|---|---|
project | Project | |
view_index | int32 | Integer describing index of added Project in resulting query view. |
ProjectChange.Current Message
Project has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
project | Project |
ProjectChange.Modified Message
Project changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of Project) | Name of modified Project |
project | Project | New version of Project or masked difference, depending on mask_changes instrumentation of issued [WatchProjectRequest] or [WatchProjectsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified Project. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying Project new index in resulting query view. |
ProjectChange.Removed Message
Removed is returned when Project is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of Project) | |
view_index | int32 | Integer specifying removed Project index. Not populated in stateless watch type. |
ProjectInvitationChange Message
ProjectInvitationChange is used by Watch notifications Responses to describe change of single ProjectInvitation One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | ProjectInvitationChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | ProjectInvitationChange.Modified | Modified is returned when watched document is modified |
current | ProjectInvitationChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | ProjectInvitationChange.Removed | Removed is returned when ProjectInvitation is deleted or leaves Query view |
ProjectInvitationChange.Added Message
ProjectInvitation has been added to query view
Name | Type | Description |
---|---|---|
project_invitation | ProjectInvitation | |
view_index | int32 | Integer describing index of added ProjectInvitation in resulting query view. |
ProjectInvitationChange.Current Message
ProjectInvitation has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
project_invitation | ProjectInvitation |
ProjectInvitationChange.Modified Message
ProjectInvitation changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | Name of modified ProjectInvitation |
project_invitation | ProjectInvitation | New version of ProjectInvitation or masked difference, depending on mask_changes instrumentation of issued [WatchProjectInvitationRequest] or [WatchProjectInvitationsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified ProjectInvitation. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying ProjectInvitation new index in resulting query view. |
ProjectInvitationChange.Removed Message
Removed is returned when ProjectInvitation is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of ProjectInvitation) | |
view_index | int32 | Integer specifying removed ProjectInvitation index. Not populated in stateless watch type. |
RoleBindingChange Message
RoleBindingChange is used by Watch notifications Responses to describe change of single RoleBinding One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | RoleBindingChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | RoleBindingChange.Modified | Modified is returned when watched document is modified |
current | RoleBindingChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | RoleBindingChange.Removed | Removed is returned when RoleBinding is deleted or leaves Query view |
RoleBindingChange.Added Message
RoleBinding has been added to query view
Name | Type | Description |
---|---|---|
role_binding | RoleBinding | |
view_index | int32 | Integer describing index of added RoleBinding in resulting query view. |
RoleBindingChange.Current Message
RoleBinding has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
role_binding | RoleBinding |
RoleBindingChange.Modified Message
RoleBinding changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of RoleBinding) | Name of modified RoleBinding |
role_binding | RoleBinding | New version of RoleBinding or masked difference, depending on mask_changes instrumentation of issued [WatchRoleBindingRequest] or [WatchRoleBindingsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified RoleBinding. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying RoleBinding new index in resulting query view. |
RoleBindingChange.Removed Message
Removed is returned when RoleBinding is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of RoleBinding) | |
view_index | int32 | Integer specifying removed RoleBinding index. Not populated in stateless watch type. |
RoleChange Message
RoleChange is used by Watch notifications Responses to describe change of single Role One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | RoleChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | RoleChange.Modified | Modified is returned when watched document is modified |
current | RoleChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | RoleChange.Removed | Removed is returned when Role is deleted or leaves Query view |
RoleChange.Added Message
Role has been added to query view
Name | Type | Description |
---|---|---|
role | Role | |
view_index | int32 | Integer describing index of added Role in resulting query view. |
RoleChange.Current Message
Role has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
role | Role |
RoleChange.Modified Message
Role changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of Role) | Name of modified Role |
role | Role | New version of Role or masked difference, depending on mask_changes instrumentation of issued [WatchRoleRequest] or [WatchRolesRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified Role. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying Role new index in resulting query view. |
RoleChange.Removed Message
Removed is returned when Role is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of Role) | |
view_index | int32 | Integer specifying removed Role index. Not populated in stateless watch type. |
ScopeParam Message
Name | Type | Description |
---|---|---|
name | string | Name of the variable to be used in conditions/scope values. |
string | ScopeParam.StringValue | Value is a single string |
strings | ScopeParam.ArrayOfStringsValue | List of alternative values. |
value_from | ScopeParam.FromValue | Value is extracted dynamically from pointed object type. |
ScopeParam.ArrayOfStringsValue Message
ArrayOfStringsValue represents array of strings value
Name | Type | Description |
---|---|---|
values | repeated string |
ScopeParam.FromValue Message
FromValue represents a value(s) from specific dynamic object.
Name | Type | Description |
---|---|---|
source | ScopeParam.FromValue.Source | Source indicates type of dynamic object from where we take value(s). |
path | string | Path within specified object from which exactly we get value(s). |
ScopeParam.StringValue Message
StringValue represents single value
Name | Type | Description |
---|---|---|
value | string |
ServiceAccountChange Message
ServiceAccountChange is used by Watch notifications Responses to describe change of single ServiceAccount One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | ServiceAccountChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | ServiceAccountChange.Modified | Modified is returned when watched document is modified |
current | ServiceAccountChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | ServiceAccountChange.Removed | Removed is returned when ServiceAccount is deleted or leaves Query view |
ServiceAccountChange.Added Message
ServiceAccount has been added to query view
Name | Type | Description |
---|---|---|
service_account | ServiceAccount | |
view_index | int32 | Integer describing index of added ServiceAccount in resulting query view. |
ServiceAccountChange.Current Message
ServiceAccount has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
service_account | ServiceAccount |
ServiceAccountChange.Modified Message
ServiceAccount changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | Name of modified ServiceAccount |
service_account | ServiceAccount | New version of ServiceAccount or masked difference, depending on mask_changes instrumentation of issued [WatchServiceAccountRequest] or [WatchServiceAccountsRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified ServiceAccount. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying ServiceAccount new index in resulting query view. |
ServiceAccountChange.Removed Message
Removed is returned when ServiceAccount is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccount) | |
view_index | int32 | Integer specifying removed ServiceAccount index. Not populated in stateless watch type. |
ServiceAccountKeyChange Message
ServiceAccountKeyChange is used by Watch notifications Responses to describe change of single ServiceAccountKey One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | ServiceAccountKeyChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | ServiceAccountKeyChange.Modified | Modified is returned when watched document is modified |
current | ServiceAccountKeyChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | ServiceAccountKeyChange.Removed | Removed is returned when ServiceAccountKey is deleted or leaves Query view |
ServiceAccountKeyChange.Added Message
ServiceAccountKey has been added to query view
Name | Type | Description |
---|---|---|
service_account_key | ServiceAccountKey | |
view_index | int32 | Integer describing index of added ServiceAccountKey in resulting query view. |
ServiceAccountKeyChange.Current Message
ServiceAccountKey has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
service_account_key | ServiceAccountKey |
ServiceAccountKeyChange.Modified Message
ServiceAccountKey changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccountKey) | Name of modified ServiceAccountKey |
service_account_key | ServiceAccountKey | New version of ServiceAccountKey or masked difference, depending on mask_changes instrumentation of issued [WatchServiceAccountKeyRequest] or [WatchServiceAccountKeysRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified ServiceAccountKey. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying ServiceAccountKey new index in resulting query view. |
ServiceAccountKeyChange.Removed Message
Removed is returned when ServiceAccountKey is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of ServiceAccountKey) | |
view_index | int32 | Integer specifying removed ServiceAccountKey index. Not populated in stateless watch type. |
ServiceBusinessTier Message
ServiceBusinessTier binds specific service with specific business tier. It may be useful if two services use different tier in one organizational entity (project or organization).
Name | Type | Description |
---|---|---|
service | string (name of Service) | Service |
business_tier | BusinessTier | Entity tier value for given service. It may be also set to UNDEFINED, if this service is not supposed to be used at all for given entity. This way we can opt out from core edgelq services if needed. |
ServiceErrors Message
ServiceErrors is generic container wrapping errors with services.
Name | Type | Description |
---|---|---|
errors | repeated ServiceErrors.Error | Errors |
ServiceErrors.Error Message
Name | Type | Description |
---|---|---|
service | string (name of Service) | Service for which there are error reports. May be skipped if error is cross-service or is about core EdgeLQ components. |
message | string | Error message |
UserChange Message
UserChange is used by Watch notifications Responses to describe change of single User One of Added, Modified, Removed
Name | Type | Description |
---|---|---|
added | UserChange.Added | Added is returned when watched document is added, either created or enters Query view |
modified | UserChange.Modified | Modified is returned when watched document is modified |
current | UserChange.Current | Current is returned in stateless watch when document enters query view or is modified within. |
removed | UserChange.Removed | Removed is returned when User is deleted or leaves Query view |
UserChange.Added Message
User has been added to query view
Name | Type | Description |
---|---|---|
user | User | |
view_index | int32 | Integer describing index of added User in resulting query view. |
UserChange.Current Message
User has been added or modified in a query view. Version used for stateless watching
Name | Type | Description |
---|---|---|
user | User |
UserChange.Modified Message
User changed some of it’s fields - contains either full document or masked change
Name | Type | Description |
---|---|---|
name | string (name of User) | Name of modified User |
user | User | New version of User or masked difference, depending on mask_changes instrumentation of issued [WatchUserRequest] or [WatchUsersRequest] |
field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
previous_view_index | int32 | Previous view index specifies previous position of modified User. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
view_index | int32 | Integer specifying User new index in resulting query view. |
UserChange.Removed Message
Removed is returned when User is deleted or leaves Query view
Name | Type | Description |
---|---|---|
name | string (name of User) | |
view_index | int32 | Integer specifying removed User index. Not populated in stateless watch type. |
WatchPrincipalUpdatesRequest Message
Request message for method [WatchPrincipalUpdates][ntt.iam.v1.WatchPrincipalUpdates]
Name | Type | Description |
---|---|---|
requesting_service | string (name of Service) | |
resume_token | string | Resume token in case of disconnection |
WatchPrincipalUpdatesResponse Message
Response message for method [WatchPrincipalUpdates][ntt.iam.v1.WatchPrincipalUpdates]
Name | Type | Description |
---|---|---|
current_principals | repeated WatchPrincipalUpdatesResponse.CurrentPrincipal | All added or removed principals |
removed_principals | repeated WatchPrincipalUpdatesResponse.RemovedPrincipal | All removed principals |
is_current | bool | Whether list of shadows received by client is in sync |
is_reset | bool | Whether current, pending changes should be reset. |
resume_token | string | Token to resume from. |
WatchPrincipalUpdatesResponse.CurrentPrincipal Message
Name | Type | Description |
---|---|---|
principal_key_id | string | |
json_key | string | |
principal_key_type | string | |
user | User | |
service_account | ServiceAccount |
WatchPrincipalUpdatesResponse.RemovedPrincipal Message
Name | Type | Description |
---|---|---|
principal_key_id | string |
IAM Service Shared Enumerations
Here is the list of IAM service shared enumerations:
- BusinessTier enumeration
- DigestAlg enumeration
- Invitation.State enumeration
- ScopeParam.FromValue.Source enumeration
- TpmVersion enumeration
- VerifyRequest.AskForChallenge.ChallengeFormat enumeration
BusinessTier Enumeration
BusinessTier indicates size of organizational entity (project or organization). Size-type sizes are used in core edgelq services, SKU-types can be used optionally by 3rd party services.
Name | Description |
---|---|
UNDEFINED | |
LARGE | |
MEDIUM | |
SMALL | |
XSMALL | |
SKU0 | |
SKU1 | |
SKU2 | |
SKU3 | |
SKU4 | |
SKU5 | |
SKU6 | |
SKU7 | |
SKU8 | |
SKU9 | |
SKU10 | |
SKU11 | |
SKU12 |
DigestAlg Enumeration
Name | Description |
---|---|
SHA1 | |
SHA256 |
Invitation.State Enumeration
Invitation FSM States
Name | Description |
---|---|
STATE_UNSPECIFIED | |
PENDING | |
ACCEPTED | |
DECLINED | |
EXPIRED |
ScopeParam.FromValue.Source Enumeration
Source indicates which dynamic object is used to extract value from.
Name | Description |
---|---|
UNDEFINED | |
PRINCIPAL_METADATA | Object from which value is taken is metadata. Valid for Service Accounts and user types. |
PRINCIPAL_USER | Object from which value is taken is User principal. If principal executing an Action is not a User, then value will be empty. |
PRINCIPAL_SVCACC | Object from which value is taken is ServiceAccount principal. If principal executing an Action is not a ServiceAccount, then value will be empty. |
TpmVersion Enumeration
Name | Description |
---|---|
TPMVAGNOSTIC | |
TPMV12 | |
TPMV20 |
VerifyRequest.AskForChallenge.ChallengeFormat Enumeration
Name | Description |
---|---|
TPM20_CREDENTIAL | Credential Protection as defined in section 24 of the TPM specification revision 2 part 1 See: https://trustedcomputinggroup.org/resource/tpm-library-specification/ Returned primitives are of type TPM2B_ID_OBJECT and TPM2B_ENCRYPTED_SECRET. NOTE: ECC is not supported. Reference implementation: github.com/google/go-attestation@v0.3.2/attest/activation.go:generateChallengeTPM20, which uses github.com/google/go-tmp@v0.3.2/tmp2/credactivation/credential_activation.go:Generate |
TPM12_EKBLOB | Challenge as defined in section 15.1 of the TPM 1.2 commands spec See: https://trustedcomputinggroup.org/wp-content/uploads/TPM-Main-Part-3-Commands_v1.2_rev116_01032011.pdf Returned primitives are of type TPM12_EKBLOB (with TPM_EK_BLOB_ACTIVATE) and bytes. Reference implementation: github.com/google/go-attestation@v0.3.2/attest/activation.go:generateChallengeTPM12, which uses github.com/google/go-attestation@v0.3.2/attest/challenge.go:generateChallenge12 |
TSPI_EKBLOB | TSPI_EKBLOB is a TPM1.2 challenge format accepted by TrouSerS daemon’s Tspi_TPM_ActivateIdentity function. As far as I can tell, it’s not documented except in the code. Returned primitives are of type TPM12_EKBLOB (with TPM_EK_BLOB_ACTIVATE) and bytes. Reference implementation: github.com/google/go-attestation@v0.3.2/attest/activation.go:generateChallengeTPM12, which uses github.com/google/go-tspi@v0.3.0/verification/verification.go:GenerateChallengeEx |