diff --git a/404.html b/404.html index 8cced0bc..6b2d1db0 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ 404 Page not found -

Error

Woops. Looks like this page doesn't exist ¯\_(ツ)_/¯.

Go to homepage

Page not found!

\ No newline at end of file +

Error

Woops. Looks like this page doesn't exist ¯\_(ツ)_/¯.

Go to homepage

Page not found!

\ No newline at end of file diff --git a/categories/index.html b/categories/index.html index 32aa7ad9..9ad54411 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,7 +1,7 @@ -Categories :: Arista Networks FMP APIs -

taxonomy :: -Categories

    \ No newline at end of file +Categories
    \ No newline at end of file diff --git a/clients/creating/index.html b/clients/creating/index.html index d816bcec..e1c698b7 100644 --- a/clients/creating/index.html +++ b/clients/creating/index.html @@ -1,7 +1,7 @@ -Creating a Client :: Arista Networks FMP APIs -

    Creating a Client

    A major advantage to Protobuf (and gRPC) is the ability to generate language bindings reliably and dependably.

    The main gRPC site has tutorials for generating clients in many languages:

    There is also an expansive ecosystem, so plenty of languages are supported.

    Tooling

    In general, there are two main components to generating a language binding:

    • protoc: The protobuf compiler which call the language-specific generator
      • typically installed via a package manager (apt, yum, brew, etc)
    • protoc-gen-{language}: The language-specific generator
      • typically installed with the language’s dependency manager, build tool, etc

    Generating

    Regardless of language, client generation generally follows a pattern of:

    $ protoc {includes} {lang-opts} {output-opts} {inputs}
    @@ -13,4 +13,4 @@
         $CVAPIS/arista/example.v1/example.proto $CVAPIS/arista/example.v1/services.gen.proto
     

    In the above examples we generate the protobuf bindings (example.proto) as well as the gRPC services (services.gen.go) in the same command. You are free to do them separately, however, different language generators handle this differently.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/clients/existing/index.html b/clients/existing/index.html index 982af412..a943bb7c 100644 --- a/clients/existing/index.html +++ b/clients/existing/index.html @@ -1,8 +1,8 @@ -Existing Clients :: Arista Networks FMP APIs -

    Existing Clients

    Arista provides and maintains the following clients:

    LanguageRepository
    Gohttps://github.com/aristanetworks/cloudvision-go
    Pythonhttps://github.com/aristanetworks/cloudvision-python
    \ No newline at end of file +
    \ No newline at end of file diff --git a/clients/index.html b/clients/index.html index 5175e735..2e4ff639 100644 --- a/clients/index.html +++ b/clients/index.html @@ -1,8 +1,8 @@ -Clients :: Arista Networks FMP APIs -

    Clients

    Clients are generated from the base .proto files shipped in this repository using the protobuf compiler.

    While Arista maintains clients for some languages, creating a client for your language of choice is also possible.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/connecting/index.html b/connecting/index.html index 2cf70b1a..e2dea54a 100644 --- a/connecting/index.html +++ b/connecting/index.html @@ -1,7 +1,7 @@ -Connecting :: Arista Networks FMP APIs -

    Connecting

    The port used to connect to CVP is 443 for both on-prem and cloud deployments.

    Authentication

    Our APIs currently support token based authentication.

    In future releases we intend to support mutual TLS authentication which does not require tokens or login credentials to be stored along with the application.

    For more details on gRPC authentication, see: authentication.

    Token Based Authentication

    Tokens can be either received from the HTTP login API (only last for 24 hours) or can be generated on for service accounts (recommended).

    Service accounts have been introduced in 2020.3.0 and have been on CVaaS from the beginning.

    The steps to create a service account token are (both CV on-prem and CVaaS):

    1. Go to Settings

    2. Go to Access Control - Service Accounts

    3. Create a Service account if there isn’t one by clicking on the + New Service Account button

      service account 1

    4. Fill out the form and click Add

      service account 2

    5. Edit the service account by clicking on it and generate a token

      service account 3

      service account 4

    The service account token will not be retreivable after clicking Ok. It is recommended to store it somewhere safe.

    Read on if you are interested in generating a short lived token for CloudVision on-prem using the HTTP login API.

    The following examples use python but Go, Java, or any other language capable of HTTP requests will work almost identically. To make the HTTP request, we will use the requests library which is available through pip:

    python -m pip install requests
    @@ -98,4 +98,4 @@
     combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials)
     channel = grpc.secure_channel(CV_HOST + ':' + CV_API_PORT, combined_credentails)
     
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/grpc/index.html b/examples/grpc/index.html index 516abc65..8e1250eb 100644 --- a/examples/grpc/index.html +++ b/examples/grpc/index.html @@ -1,7 +1,7 @@ -gRPC :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/index.html b/examples/index.html index 2fe838f3..7e126341 100644 --- a/examples/index.html +++ b/examples/index.html @@ -1,8 +1,8 @@ -Examples :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/bugexposure/index.html b/examples/rest/bugexposure/index.html index 029ddc4c..4256cf59 100644 --- a/examples/rest/bugexposure/index.html +++ b/examples/rest/bugexposure/index.html @@ -1,7 +1,7 @@ -Bugexposure :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/changecontrol/index.html b/examples/rest/changecontrol/index.html index 05e399f2..54596f90 100644 --- a/examples/rest/changecontrol/index.html +++ b/examples/rest/changecontrol/index.html @@ -1,7 +1,7 @@ -Change Control :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/dashboard/index.html b/examples/rest/dashboard/index.html index b7939b6f..b943f02e 100644 --- a/examples/rest/dashboard/index.html +++ b/examples/rest/dashboard/index.html @@ -1,7 +1,7 @@ -Dashboard :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/endpointlocation/index.html b/examples/rest/endpointlocation/index.html index ad2bc352..00c1f267 100644 --- a/examples/rest/endpointlocation/index.html +++ b/examples/rest/endpointlocation/index.html @@ -1,7 +1,7 @@ -Endpointlocation :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/events/index.html b/examples/rest/events/index.html index 5327233a..8caf7c9a 100644 --- a/examples/rest/events/index.html +++ b/examples/rest/events/index.html @@ -1,7 +1,7 @@ -Events :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/index.html b/examples/rest/index.html index 5df61a65..f7aae90a 100644 --- a/examples/rest/index.html +++ b/examples/rest/index.html @@ -1,10 +1,10 @@ -REST API Examples :: Arista Networks FMP APIs -

    REST API Examples

    REST bindings for Resource APIs were introduced in CVP 2021.1.0

    When fetching a state from NetDB between two arbitrary dates, the result returned will contain data that existed between those two dates and not just data that was created between those dates. For instance if BGP events are queried between 2023-05-01 10:00 and 2023-05-01 12:00 the result will contain events that were active in the range of 10 AM to 12 PM. If there were events that started before 10 AM and were not resolved (still active) at that time, the result will contain those events too.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/inventory/index.html b/examples/rest/inventory/index.html index 367056bd..7ebe151d 100644 --- a/examples/rest/inventory/index.html +++ b/examples/rest/inventory/index.html @@ -1,7 +1,7 @@ -Inventory :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/lifecycle/index.html b/examples/rest/lifecycle/index.html index 6cdb4be0..d247752f 100644 --- a/examples/rest/lifecycle/index.html +++ b/examples/rest/lifecycle/index.html @@ -1,7 +1,7 @@ -Lifecycle :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/studios-and-workspaces/index.html b/examples/rest/studios-and-workspaces/index.html index 2eeaba8b..f373209c 100644 --- a/examples/rest/studios-and-workspaces/index.html +++ b/examples/rest/studios-and-workspaces/index.html @@ -1,7 +1,7 @@ -Studios and Workspaces :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/examples/rest/tag/index.html b/examples/rest/tag/index.html index e912f720..f82dba4c 100644 --- a/examples/rest/tag/index.html +++ b/examples/rest/tag/index.html @@ -1,7 +1,7 @@ -Tags :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/index.html b/index.html index 2de7bda5..cd81110d 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ -:: Arista Networks FMP APIs -
    navigation

    CloudVision APIs

    Cloudvision APIs are state based, resource-oriented APIs modeled in Protobuf and accessed over gRPC using a standardized set of RPC verbs.

    CloudVision is a powerful platform that processes and stores tremendous amounts of network data. It knows the topology of the network, device configuration, interface activity and other network events. These APIs allow access to fleet-wide data access and control, forming a management-plane with consistent usage.

    Data Driven

    Functionality is defined in a data-oriented (rather than action-oriented) form. @@ -18,4 +18,4 @@ environment in nearly any language.

    For Arista-supported clients, see the Existing Clients page.
    Alternatively, a basic guide on creating your own.

    In addition to pure-gRPC clients, HTTP REST mappings are easily generated through the great gRPC ecosystem. Thus, APIs can be utilized from nearly anywhere.

    gRPC Ecosystem

    Another benefit of using protobuf and gRPC is the vast ecosystem surrounding them. While portable client-generation is useful a well-supported ecosystem provides even more tooling.

    This list is not extensive, nor an endorsement of any project. -Many more tools can be found on the awesome-grpc page.

    \ No newline at end of file +Many more tools can be found on the awesome-grpc page.

    \ No newline at end of file diff --git a/index.json b/index.json index db9384ef..b6b976c0 100644 --- a/index.json +++ b/index.json @@ -1 +1 @@ -[{"uri":"https://aristanetworks.github.io/cloudvision-apis/clients/existing/","title":"Existing Clients","tags":[],"description":"","content":"Arista provides and maintains the following clients:\nLanguage Repository Go https://github.com/aristanetworks/cloudvision-go Python https://github.com/aristanetworks/cloudvision-python "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/modeling/","title":"Modeling","tags":[],"description":"","content":"Resources are modeled in Protobuf and accessed over gRPC with a standardized set of RPCs (discussed in later sections). These models are divided into two types:\nconfig: models which allow user-modification, exposing modifiable/tunable options. state: models which expose read-only operational and/or derived state based on config data. Config Models Config models describe the user\u0026rsquo;s interaction with the system. Fields in these models are populated by the user (or by defaults).\nConfig models are read-writeable, meaning their APIs expose both read and write methods. The Protobuf message extension fmp.model = \u0026quot;rw\u0026quot; denotes that a given model is used as config and the generated RPCs will expose both read and write method sets.\nState Models State models describe the operational state of the system. Fields in these models are populated by the system and are not modifiable (except through the relevant config model).\nState models only have read methods defined and are denoted with the Protobuf message extension fmp.model = \u0026quot;ro\u0026quot;.\nWhile not required, state models are allowed to \u0026ldquo;echo\u0026rdquo; the associated config model for convenience of the user. You should check the relevant model(s) before expecting this behaviour, however.\nHigh Level Config-State Flow Below is a diagram explaining the data flow from writing a Config to the system creating/updating State. Typically, this process is asynchronous and the client will receive a response to the Set request before the state is readable. Verification and durably storing the config are the only gating requirements to responding to the Config write-request.\nWhile the config request is an input to deriving the state, there are other (possible) inputs into state:\nnon-configurable on-device settings or data (ex: device boot time) CloudVision configuration (ex: default user permissions) related config/state models (if noted in documentation) etc Subscribing to State (ideally, with a filter) allows the client to wait for any asynchronous processing.\nAll responses from RPCs include a timestamp. This timestamp should be viewed as the time at which the system durably stored an action (whether config or state). Thus, all state requests will return a timestamp \u0026gt;= than that of the config that initiated the action.\nNullable Types To make partial updates (both by users into the system as well as updates from the system) possible all primitive fields, maps, and repeated fields are wrapped in nullable messages. This nullability allows both the user and the system to differentiate between unset and zero-valued fields.\nFor example:\nmessage Nullability { // This value will contain \u0026#34;\u0026#34; when not set by the user/system. // It is not possible to know whether \u0026#34;\u0026#34; is the intended value, or simply omitted. string unwrapped_string = 1; // This value will contain null when not set by the user/system. // When the wrapper message is non-null, an empty string (\u0026#34;\u0026#34;) has // the context of being intentionally set. google.protobuf.StringValue wrapped_string = 2; } A list of the available wrapper types can be seen here, though models may define their own for maps or repeated (array) fields.\nKeys All models (whether config or state) contain a key message.\nThis key contains the minimal set of data needed to uniquely identify a given model entity. Model keys may be as simple as a single string (say, a name) or as complex as containing references to a datacenter, device, interface, or any combination of them. The complexity of the key depends entirely on the model at hand.\nMessages used for keys are denoted in protobuf with the extension: fmp.model_key = true.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/clients/creating/","title":"Creating a Client","tags":[],"description":"","content":"A major advantage to Protobuf (and gRPC) is the ability to generate language bindings reliably and dependably.\nThe main gRPC site has tutorials for generating clients in many languages:\nJava Node Ruby C#/.Net \u0026hellip; and more There is also an expansive ecosystem, so plenty of languages are supported.\nTooling In general, there are two main components to generating a language binding:\nprotoc: The protobuf compiler which call the language-specific generator typically installed via a package manager (apt, yum, brew, etc) protoc-gen-{language}: The language-specific generator typically installed with the language\u0026rsquo;s dependency manager, build tool, etc Generating Regardless of language, client generation generally follows a pattern of:\n$ protoc {includes} {lang-opts} {output-opts} {inputs} We are primarily concerned with the {includes} and {inputs} bits. The rest of the options are up to you.\nThe .proto files used as inputs can be found in: cloudvision-apis repo. You should first clone (or download) that repository. Once you have it, generating a client is as simple as:\n$ export CVAPIS=/some/path/to/cloudvision-apis $ git clone https://github.com/aristanetworks/cloudvision-apis $CVAPIS $ protoc -I $CVAPIS \\ {language-specific options go here} \\ $CVAPIS/arista/example.v1/example.proto $CVAPIS/arista/example.v1/services.gen.proto In the above examples we generate the protobuf bindings (example.proto) as well as the gRPC services (services.gen.go) in the same command. You are free to do them separately, however, different language generators handle this differently.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/errors/","title":"Error Handling","tags":[],"description":"","content":"Errors returned by the API follow the gRPC status code guidelines. This provides many niceties:\nLanguage-native idioms (exceptions, return codes, etc.) Easily mappable to HTTP error codes (used for HTTP access to RPCs) Uses metadata rather than a global schema for more detailed errors Example: Go Unary RPCs resp, err := example.GetOne(ExampleConfigRequest{Key: key}) if err != nil { log.Printf(\u0026#34;failed to get %+v: %s\\n\u0026#34;, key, err) return err } Streaming RPCs stream, err := example.GetAll(ExampleConfigStreamRequest{...}) if err != nil { log.Fatalf(\u0026#34;failed to initialize GetAll stream: %s\u0026#34;, err) } for { value, err := stream.Recv() if err == io.EOF { // all done break } else if err != nil { // stream was broken due to error log.Fatalf(\u0026#34;stream was interrupted: %s\u0026#34;, err) } log.Printf(\u0026#34;%+v\\n\u0026#34;, value) } Example: Python Unary RPCs try: response = example_stub.Set(ExampleConfigSetRequest(...)) except grpc.RpcError as e: print(\u0026#39;Set failed: {0}: {1}\u0026#39;.format(e.code(), e.details())) raise e Streaming RPCs try: for resource in example_stub.GetAll(ExampleConfigStreamRequest(...)): # process resource except grpc.RpcError as e: print(\u0026#39;GetAll failed: {0}: {1}\u0026#39;.format(e.code(), e.details())) raise e "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/","title":"Uniform RPCs","tags":[],"description":"","content":"As stated previously, APIs are accesible over gRPC with a standardized set of RPCs.\nThese methods will behave consistently across models.\nRead Methods All readable models have the following RPC signatures:\nservice ExampleConfigService { rpc GetOne (ExampleConfigRequest) returns (ExampleConfigResponse); rpc GetAll (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); rpc Subscribe (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); } The ExampleConfigRequest, ExampleConfigResponse, ExampleConfigStreamRequest, and ExampleConfigStreamResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.\nWrite Methods All wriable models have the following RPC signatures:\nservice ExampleConfigService { rpc Set (ExampleConfigSetRequest) returns (ExampleConfigSetResponse); rpc Delete (ExampleConfigDeleteRequest) returns (ExampleConfigDeleteResponse); } The ExampleConfigSetRequest, ExampleConfigSetResponse, ExampleConfigDeleteRequest, and ExampleConfigDeleteResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/connecting/","title":"Connecting","tags":[],"description":"","content":"The port used to connect to CVP is 443 for both on-prem and cloud deployments.\nAuthentication Our APIs currently support token based authentication.\nIn future releases we intend to support mutual TLS authentication which does not require tokens or login credentials to be stored along with the application.\nFor more details on gRPC authentication, see: authentication.\nToken Based Authentication Tokens can be either received from the HTTP login API (only last for 24 hours) or can be generated on for service accounts (recommended).\nService accounts have been introduced in 2020.3.0 and have been on CVaaS from the beginning.\nThe steps to create a service account token are (both CV on-prem and CVaaS):\nGo to Settings\nGo to Access Control - Service Accounts\nCreate a Service account if there isn\u0026rsquo;t one by clicking on the + New Service Account button\nFill out the form and click Add\nEdit the service account by clicking on it and generate a token\nThe service account token will not be retreivable after clicking Ok. It is recommended to store it somewhere safe.\nRead on if you are interested in generating a short lived token for CloudVision on-prem using the HTTP login API.\nThe following examples use python but Go, Java, or any other language capable of HTTP requests will work almost identically. To make the HTTP request, we will use the requests library which is available through pip:\npython -m pip install requests Example: token from login import requests import json import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; USERNAME = \u0026#34;your_cvp_username\u0026#34; PASSWORD = \u0026#34;your_cvp_password\u0026#34; r = requests.post(\u0026#39;https://\u0026#39; + CV_HOST + \u0026#39;/cvpservice/login/authenticate.do\u0026#39;, auth=(USERNAME, PASSWORD)) channel_credentials = grpc.ssl_channel_credentials() call_credentials = grpc.access_token_call_credentials(r.json()[\u0026#39;sessionId\u0026#39;]) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Example: token with loading custom SSL/TLS root certificates If CVP is using a certificate signed by a certificate authority that is not installed as a root certificate, specify it like so:\nimport requests import json import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; USERNAME = \u0026#34;your_cvp_username\u0026#34; PASSWORD = \u0026#34;your_cvp_password\u0026#34; # The certificate authority that signed the CVP certificate. # If the CVP certificate is self-signed, this is just the certificate itself. # The default location of CVP\u0026#39;s self-signed certificate on a node is /etc/nginx/cvp.crt CA_PUB_CERT_PATH = \u0026#34;/path/to/ca.pem\u0026#34; r = requests.post(\u0026#39;https://\u0026#39; + CV_HOST + \u0026#39;/cvpservice/login/authenticate.do\u0026#39;, auth=(USERNAME, PASSWORD), verify=CA_PUB_CERT_PATH) call_credentials = grpc.access_token_call_credentials(r.json()[\u0026#39;sessionId\u0026#39;]) with open(CA_PUB_CERT_PATH, \u0026#39;rb\u0026#39;) as cert_file: channel_credentials = grpc.ssl_channel_credentials(cert_file.read()) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Or download the certificate used by the server. Note that this is insecure.\nimport requests import json import ssl import tempfile import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; USERNAME = \u0026#34;your_cvp_username\u0026#34; PASSWORD = \u0026#34;your_cvp_password\u0026#34; cert = bytes(ssl.get_server_certificate((CV_HOST, int(CV_API_PORT)))) r = requests.post(\u0026#39;https://\u0026#39; + CV_HOST + \u0026#39;/cvpservice/login/authenticate.do\u0026#39;, auth=(USERNAME, PASSWORD), verify=False) call_credentials = grpc.access_token_call_credentials(r.json()[\u0026#39;sessionId\u0026#39;]) channel_credentials = grpc.ssl_channel_credentials(cert) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Example: token from file import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; # The certificate authority that signed the CVP certificate. # If the CVP certificate is self-signed, this is just the certificate itself. # The default location of CVP\u0026#39;s self-signed certificate on a node is /etc/nginx/cvp.crt CA_PUB_CERT_PATH = \u0026#34;/path/to/ca.pem\u0026#34; with open(\u0026#39;cloudvision_access_token.txt\u0026#39;, \u0026#39;r\u0026#39;) as f: call_credentials = grpc.access_token_call_credentials(f.read().strip()) with open(CA_PUB_CERT_PATH, \u0026#39;rb\u0026#39;) as cert_file: channel_credentials = grpc.ssl_channel_credentials(cert_file.read()) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Example: token from environment variable import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; # The certificate authority that signed the CVP certificate. # If the CVP certificate is self-signed, this is just the certificate itself. # The default location of CVP\u0026#39;s self-signed certificate on a node is /etc/nginx/cvp.crt CA_PUB_CERT_PATH = \u0026#34;/path/to/ca.pem\u0026#34; call_credentials = grpc.access_token_call_credentials(os.environ[\u0026#39;CLOUDVISION_ACCESS_TOKEN\u0026#39;]) with open(CA_PUB_CERT_PATH, \u0026#39;rb\u0026#39;) as cert_file: channel_credentials = grpc.ssl_channel_credentials(cert_file.read()) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentails) "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/filtering/","title":"Filtering","tags":[],"description":"","content":"Filtering is provided through a default and an (optional) additional model-specific mechanism. By default, all models support \u0026ldquo;partial equality filtering\u0026rdquo;. Models that provide a custom filtering method will document this filter-message in its model documentation.\nPartial-Equality Filters Unless intentionally disabled (and sufficiently documented), services provide a default filtering mechanism. The input type is the same as the model you are filtering, and if you wish to filter on a given field you set that field to non-nil.\nGiven:\nresponse: the model that may or may not be sent to the client filter: a single filter model (request allows giving multiple) For every response in the stream, we iterate the filter list. If the filter has a field set to non-null we compare it to the response\u0026rsquo;s field value. If the values are equal we continue to the next field in the filter. If the field values do not match we \u0026ldquo;fail\u0026rdquo; the filter and move on to the next filter in the list.\nIf a response fails all filters, it is not sent to the client.\nIf a response succeeds any filter, it is sent to the client.\nService-Specific Filtering Models are allowed to also contain an \u0026ldquo;implementation specific\u0026rdquo; filter which can be more targeted, featureful, or otherwise helpful.\nThis filter type will be defined in the protobuf definition. This type should be well documented in the protobuf as well as generated documentation.\nmessage CustomFilteredStreamRequest { ... // -- documentation from the filter message type -- CustomFilter filter = 2; ... "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/clients/","title":"Clients","tags":[],"description":"","content":"Clients are generated from the base .proto files shipped in this repository using the protobuf compiler.\nWhile Arista maintains clients for some languages, creating a client for your language of choice is also possible.\nExisting Clients Creating a Client "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/getone/","title":"GetOne","tags":[],"description":"","content":"GetOne returns a single instance of a resource.\nThe Key field is required to be fully-specified because GetOne needs to identify exactly-one resource to fetch.\nRPC Definition The protobuf definition of GetOne is defined as such (for ExampleConfig):\nrpc GetOne (ExampleConfigRequest) returns (ExampleConfigResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigRequest { // Key uniquely identifies a ExampleConfig instance to retrieve. // This value must be populated (non-null) and all fields set. ExampleKey key = 1; // Time indicates the time for which you are interested in the data. // If no time is given, the server will use the time at which it makes the request. // // This time is used as an upper-bound. The returned value may have been set at // an earlier time, however, it was the value as of the supplied time. google.protobuf.Timestamp time = 2; } Response Type The generated response for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigResponse { // Value is the value requested. // This structure will be fully-populated as it exists in the datastore. If // optional fields were not given at creation, these fields will be empty or // set to default values. ExampleConfig value = 1; // Time carries the (UTC) timestamp of the last-modification of the // ExampleConfig instance in this response. // // As stated in the request above, this time will likely not match the request // exactly. But it will be before-or-equal to the requested time. google.protobuf.Timestamp time = 2; }; "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/getall/","title":"GetAll","tags":[],"description":"","content":"GetAll fetches (and optionally filters) all resource instances.\nFor the filtering options available, see the Filtering section. These filtering options are the same for Subscribe.\nThis RPC is effectively a full-table-scan so the time to complete depends on the amount of data the resource reflects. However, being a streaming API, this RPC will return the first message as soon as it is available without any buffering.\nRPC Definition The protobuf definition of GetAll is defined as such (for ExampleConfig):\nrpc GetAll (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigStreamRequest { // PartialEqFilter provides a way to server-side filter a GetAll/Subscribe. // This requires all provided fields to be equal to the response. // // While transparent to users, this field also allows services to optimize internal // subscriptions if filter(s) are sufficiently specific. repeated ExampleConfig partial_eq_filter = 1; // // NOTE: Models are allowed to also contain a \u0026#34;implementation specific\u0026#34; filter // which is more targetted, simple, or otherwise helpful. // This filter type will be defined in the protobuf definition. // // TimeRange allows limiting response data to within a specified time window. // If this field is populated, at least one of the two time fields are required. // // This field is not allowed in the Subscribe RPC. arista.time.TimeBounds time = 3; }; Time bounds GetAll allows retrieving the history of one or many instances of a resource. These options are passed through the TimeBounds message:\nmessage TimeBounds { google.protobuf.Timestamp start = 1; google.protobuf.Timestamp end = 2; } The fields start and end can be used in the following combinations:\nend: returns the state of resources at end. responds with only fully-specified models start: returns the state of resources at start and updates until now. returns all fully-specified models as of the start time, and then all subsequent changes/partials/diffs start and end: returns the state of resources at start as well as any changes until end. same semantics as start alone, but only changes up to the end time "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/subscribe/","title":"Subscribe","tags":[],"description":"","content":"Subscribe first returns the initial state (fully-specified messages) and then any received updates.\nThe first messages received are effectively the result of a GetAll). Once existing state has been sent to the client, any changes to resource entities are streamed back to the client. The update messages will represent what was updated and can either be a diff/partial or a fully-specified model.\nAny filters apply both to the initial state and updates.\nClients can determine whether a given message is part of the initial GetAll or an update via the arista.subscriptions.Operation enum field on the StreamResponse type for the given resource. This enum can be found here.\nThe flow of messages follows these steps:\nN messages with arista.subscriptions.Operation::INITIAL One message with arista.subscriptions.Operation::INITIAL_SYNC_COMPLETE this signifies the transition from initial data to udpates prevents the client from needing to hold the last operation to find transition point N messages with either: arista.subscriptions.Operation::UPDATED arista.subscriptions.Operation::DELETED these can happen in any order or frequency until the subscription/connection is closed RPC Definition The protobuf definition of GetAll is defined as such (for ExampleConfig):\nrpc Subscribe (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/set/","title":"Set","tags":[],"description":"","content":"Set updates a resource. Updates can be whole or partial (see: nullable fields) using only fields populated in the request.\nThe Key field is required to be fully-specified because Set needs to identify exactly-one resource to delete.\nThe endpoint returns the time the Set becomes effective internally and the service\u0026rsquo;s known-state of the resource.\nA *SetResponse will contain an \u0026ldquo;echo\u0026rdquo; of the resource. This echo will be the original update-request at a minimum, and may include more data.This allows services to do fast, write-only, updates to internal storage. If the service needs to query existing state first then more data can be provided to the client. If you need a full model after a Set operation, you can issue a GetOne with the returned time.\nrpc Set (ExampleConfigSetRequest) returns (ExampleSetResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigSetRequest { // ExampleConfig carries the value to set into the datastore. ExampleConfig value = 1; }; Response Type The generated response for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigSetResponse { ExampleConfig value = 1; // Time indicates the (UTC) timestamp at which the system recognizes the // creation. The only guarantees made about this timestamp are: // // - it is after the time the request was received // - a time-ranged query with StartTime==CreatedAt will include this instance. // google.protobuf.Timestamp time = 2; }; Updating maps Set maps are merged with the existing map.\nTo delete all of the values in a map, set the wrapper message of the map but leave the map itself empty.\nUpdating repeated fields Set repeated fields replace the existing array. For example:\nt0: existing state: [\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;c\u0026#39;] t1: existing state: [\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;c\u0026#39;] set request: [\u0026#39;a\u0026#39;, \u0026#39;q\u0026#39;, \u0026#39;z\u0026#39;] t2: existing state: [\u0026#39;a\u0026#39;, \u0026#39;q\u0026#39;, \u0026#39;z\u0026#39;] To delete all of the values in a repeated field, set the wrapper message of the repeated and leave the repeated empty.\nUpdating subresources Subresources are resources that are a child of another resource. A collection of subresources with compound keys is represented by a repeated field, though this collection should be treated as unordered and uses the same update semantics as maps (tuple keys are not allowed in protobuf maps). If multiple subresources with the same key are specified, the last one in the repeated ordering is assumed to be value.\nExample: Update Given an example proto:\nsyntax = \u0026#34;proto3\u0026#34;; import \u0026#34;google/protobuf/wrappers.proto\u0026#34;; message MapValue { google.protobuf.StringValue string_val = 1; google.protobuf.Int64Value int_val = 2; } message MapWrapper { map\u0026lt;string, MapValue\u0026gt; map = 1; } message RepeatedWrapper { repeated string repeated = 1; } message ExampleModel { google.protobuf.StringValue string_val = 1; google.protobuf.Int64Value int_val = 2; RepeatedWrapper repeated = 3; MapWrapper map = 4; } And a model:\nstring_val { value: \u0026#34;one\u0026#34; } int_val { value: 2 } repeated { repeated: \u0026#34;five\u0026#34; repeated: \u0026#34;six\u0026#34; } map { map { key: \u0026#34;four\u0026#34; value { string_val { value: \u0026#34;red\u0026#34; } int_val { value: 45 } } } map { key: \u0026#34;three\u0026#34; value { string_val { value: \u0026#34;blue\u0026#34; } int_val { value: 42 } } } map { key: \u0026#34;two\u0026#34; value { string_val { value: \u0026#34;purple\u0026#34; } int_val { value: 32 } } } } Applying the following update:\nstring_val { value: \u0026#34;two\u0026#34; } repeated { repeated: \u0026#34;eight\u0026#34; repeated: \u0026#34;nine\u0026#34; } map { map { key: \u0026#34;five\u0026#34; value { string_val { value: \u0026#34;orange\u0026#34; } int_val { value: 100 } } } map { key: \u0026#34;four\u0026#34; value { string_val { value: \u0026#34;green\u0026#34; } } } map { key: \u0026#34;three\u0026#34; value { string_val { value: \u0026#34;yellow\u0026#34; } int_val { value: 12 } } } } results in the updated model:\nstring_val { value: \u0026#34;two\u0026#34; } int_val { value: 2 } repeated { repeated: \u0026#34;eight\u0026#34; repeated: \u0026#34;nine\u0026#34; } map { map { key: \u0026#34;five\u0026#34; value { string_val { value: \u0026#34;orange\u0026#34; } int_val { value: 100 } } } map { key: \u0026#34;four\u0026#34; value { string_val { value: \u0026#34;green\u0026#34; } int_val { value: 45 } } } map { key: \u0026#34;three\u0026#34; value { string_val { value: \u0026#34;yellow\u0026#34; } int_val { value: 12 } } } map { key: \u0026#34;two\u0026#34; value { string_val { value: \u0026#34;purple\u0026#34; } int_val { value: 32 } } } } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/delete/","title":"Delete","tags":[],"description":"","content":"Delete deletes a resource and returns the time the delete became effective.\nThe Key field is required to be fully-specified because Delete needs to identify exactly-one resource to delete.\nRPC Definition The protobuf definition of GetOne is defined as such (for ExampleConfig):\nrpc Delete (ExampleConfigDeleteRequest) returns (ExampleConfigDeleteResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigDeleteRequest { // Key indicates which ExampleConfig instance to remove. // This field must always be set. ExampleKey key = 1; }; Response Type The generated response for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigDeleteResponse { // Key echoes back the key of the deleted ExampleConfig instance. ExampleKey key = 1; // Time indicates the (UTC) timestamp at which the system recognizes the // deletion. The only guarantees made about this timestamp are: // // - it is after the time the request was received // - a time-ranged query with StartTime==DeletedAt will not include this instance. // google.protobuf.Timestamp time = 2; }; "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/bugexposure/","title":"Bugexposure","tags":[],"description":"","content":" Bugexposure.v1 Get device bug exposure for one device curl Get device bug exposure for all devices curl Get the acknowledged bugs for a device curl To generate a service account token please refer to the authentication chapter.\nBugExposure Resource APIs are supported from CVP 2022.1.0 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nBugexposure.v1 Get device bug exposure for one device curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/bugexposure/v1/BugExposure?key.deviceId=0123F2E4462997EB155B7C50EC148767\u0026#39; | jq Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084, 638303, 647110, 653156, 662431, 664223, 672067, 686581 ] }, \u0026#34;cveIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 674519 ] }, \u0026#34;bugCount\u0026#34;: 8, \u0026#34;cveCount\u0026#34;: 1, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:56:09.228269719Z\u0026#34; } Get device bug exposure for all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/bugexposure/v1/BugExposure/all\u0026#39; | jq { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;HSH15201149\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084, 653156, 662431, 671983, 686096 ] }, \u0026#34;cveIds\u0026#34;: {}, \u0026#34;bugCount\u0026#34;: 5, \u0026#34;cveCount\u0026#34;: 0, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_NONE\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-07-26T06:56:05.385727340Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE20270454\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084 ] }, \u0026#34;cveIds\u0026#34;: {}, \u0026#34;bugCount\u0026#34;: 1, \u0026#34;cveCount\u0026#34;: 0, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_LOW\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_NONE\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:56:09.228269719Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084, 647110, 653156, 662431, 664223, 672067, 686581 ] }, \u0026#34;cveIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 674519 ] }, \u0026#34;bugCount\u0026#34;: 7, \u0026#34;cveCount\u0026#34;: 1, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:56:09.228269719Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } Get the acknowledged bugs for a device curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/v3/services/arista.bugexposure.v1.BugExposureService/GetOne\u0026#39; \\ -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;, \u0026#34;acknowledgement\u0026#34;: \u0026#34;ACKNOWLEDGEMENT_ACKNOWLEDGED\u0026#34;}}\u0026#39; Output:\n[ { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;device_id\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;, \u0026#34;acknowledgement\u0026#34;: \u0026#34;ACKNOWLEDGEMENT_ACKNOWLEDGED\u0026#34; }, \u0026#34;bug_ids\u0026#34;: { \u0026#34;values\u0026#34;: [ 672067, 686581 ] }, \u0026#34;cve_ids\u0026#34;: { \u0026#34;values\u0026#34;: [] }, \u0026#34;bug_count\u0026#34;: 2, \u0026#34;cve_count\u0026#34;: 0, \u0026#34;highest_bug_exposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highest_cve_exposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_NONE\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T17:08:31.477858091Z\u0026#34; } ] "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/changecontrol/","title":"Change Control","tags":[],"description":"","content":" changeControl.v1 Get the approval state for a specific change control curl Get the approval state for all approved/unapproved changes curl Approve a change curl Get the state of all Change Controls Create a change control curl Delete a change control curl Start a change control curl Stop a change control curl Schedule a change control curl Change the name of a Change Control curl To generate a service account token please refer to the authentication chapter.\nChange Control Resource APIs are supported from CVP 2021.2.0 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nchangeControl.v1 A change can be only be in unapproved state if it was approved initially. Change Controls which have never been approved will have the status of Pending Approval\nGet the approval state for a specific change control curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ApproveConfig?key.id=-WIh3Xnwu\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-WIh3Xnwu\u0026#34;}, \u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true}, \u0026#34;version\u0026#34;:\u0026#34;2021-12-03T10:41:40.810064204Z\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-03T10:41:44.109088624Z\u0026#34;} Changes that were never approved will have a nil state and the following result will be returned:\n{\u0026#34;code\u0026#34;:5, \u0026#34;message\u0026#34;:\u0026#34;resource not found\u0026#34;} The state of a change that was unapproved will result in the following:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;gKCZL1eNG\u0026#34;}, \u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:false, \u0026#34;notes\u0026#34;:\u0026#34;Unapproved explicitly by user\u0026#34;}, \u0026#34;version\u0026#34;:\u0026#34;2021-12-08T13:18:16.436235494Z\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T18:05:08.243031760Z\u0026#34;} Get the approval state for all approved/unapproved changes curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ApproveConfig/all\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-WIh3Xnwu\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-12-03T10:41:40.810064204Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-12-03T10:41:44.109088624Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-5UxLHCBk\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-12-03T10:53:58.819000425Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-12-03T10:54:05.099957401Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-gKtnAX0s\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-08-19T18:27:25.312165529Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-19T18:27:28.961559476Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;Dpum-Owhq\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-08-02T09:47:47.324298592Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-02T09:47:49.603355580Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;1ZgkJ.Wed\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-11-29T20:42:25.298103662Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-11-29T20:42:41.187649168Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Approve a change First we need to get the change control state for the specified key and extract the value of time from the change dictionary:\ncurl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControl?key.id=rxwA-N65u\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;rxwA-N65u\u0026#34;}, \u0026#34;change\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change 20211213_183228\u0026#34;, \u0026#34;rootStageId\u0026#34;:\u0026#34;c2uIKIkq0c\u0026#34;, \u0026#34;stages\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;c2uIKIkq0c\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change 20211213_183228 Root\u0026#34;, \u0026#34;rows\u0026#34;:{\u0026#34;values\u0026#34;:[{\u0026#34;values\u0026#34;:[\u0026#34;gaKs4SdpMj\u0026#34;]}]}}, \u0026#34;gaKs4SdpMj\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Update Config\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;542\u0026#34;}}}}}}, \u0026#34;notes\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;, \u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;} Then use the time value in the version value in the ApproveConfig POST message as below:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ApproveConfig\u0026#39; -H \u0026#39;Content-Type: application/json\u0026#39; \\ -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;rxwA-N65u\u0026#34;}, \u0026#34;approve\u0026#34;: {\u0026#34;value\u0026#34;: true, \u0026#34;notes\u0026#34;: \u0026#34;REST API test\u0026#34;}, \u0026#34;version\u0026#34;: \u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;rxwA-N65u\u0026#34;}, \u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true, \u0026#34;notes\u0026#34;:\u0026#34;REST API test\u0026#34;}, \u0026#34;version\u0026#34;:\u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T19:00:11.500491001Z\u0026#34;} Get the state of all Change Controls curl -L -X GET \u0026#34;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControl/all\u0026#34; \\ -H \u0026#34;Accept: application/json\u0026#34; \\ -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;CC_Task_f7d44737-485e-4002-bfe7-8c577ac51023\u0026#34;},\u0026#34;change\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change Control CC_Task_f7d44737-485e-4002-bfe7-8c577ac51023\u0026#34;,\u0026#34;rootStageId\u0026#34;:\u0026#34;root\u0026#34;,\u0026#34;stages\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;Task_2827\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Task stage 2827\u0026#34;,\u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;,\u0026#34;timeout\u0026#34;:7200,\u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;2827\u0026#34;}}},\u0026#34;rows\u0026#34;:{},\u0026#34;status\u0026#34;:\u0026#34;STAGE_STATUS_COMPLETED\u0026#34;},\u0026#34;root\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;root\u0026#34;,\u0026#34;rows\u0026#34;:{\u0026#34;values\u0026#34;:[{\u0026#34;values\u0026#34;:[\u0026#34;Task_2827\u0026#34;]}]},\u0026#34;status\u0026#34;:\u0026#34;STAGE_STATUS_COMPLETED\u0026#34;}}},\u0026#34;notes\u0026#34;:\u0026#34;Auto Generated Request\u0026#34;,\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.292234597Z\u0026#34;,\u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true,\u0026#34;notes\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.315590969Z\u0026#34;,\u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;},\u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:true,\u0026#34;notes\u0026#34;:\u0026#34;Auto Start\u0026#34;,\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.327707307Z\u0026#34;,\u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;CHANGE_CONTROL_STATUS_COMPLETED\u0026#34;,\u0026#34;deviceIds\u0026#34;:{\u0026#34;values\u0026#34;:[\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;]}},\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.991529440Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} ... Create a change control curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#34;`cat task_data.json`\u0026#34; where task_data.json looks like below:\ncat task_data.json | jq\nOutput:\n{ \u0026#34;key\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;5821c7c1-e276-4387-b60a\u0026#34; }, \u0026#34;change\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;Change_20211222_191032\u0026#34;, \u0026#34;rootStageId\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;stages\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;root\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;rows\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;values\u0026#34;: [ \u0026#34;stage0\u0026#34;, \u0026#34;stage1\u0026#34;, \u0026#34;stage2\u0026#34;, \u0026#34;stage3\u0026#34; ] } ] } }, \u0026#34;stage0\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage0\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1245\u0026#34; } } } }, \u0026#34;stage1\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage1\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1246\u0026#34; } } } }, \u0026#34;stage2\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage2\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1247\u0026#34; } } } }, \u0026#34;stage3\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage3\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1248\u0026#34; } } } } } }, \u0026#34;notes\u0026#34;: \u0026#34;curl_cc_test\u0026#34; } } or without jq formatting:\n{\u0026#34;key\u0026#34;: {\u0026#34;id\u0026#34;: \u0026#34;5821c7c1-e276-4387-b60a\u0026#34;}, \u0026#34;change\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;Change_20211222_191032\u0026#34;, \u0026#34;rootStageId\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;stages\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;root\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;rows\u0026#34;: {\u0026#34;values\u0026#34;: [{\u0026#34;values\u0026#34;: [\u0026#34;stage0\u0026#34;, \u0026#34;stage1\u0026#34;, \u0026#34;stage2\u0026#34;, \u0026#34;stage3\u0026#34;]}]}}, \u0026#34;stage0\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage0\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1245\u0026#34;}}}}, \u0026#34;stage1\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage1\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1246\u0026#34;}}}}, \u0026#34;stage2\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage2\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1247\u0026#34;}}}}, \u0026#34;stage3\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage3\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1248\u0026#34;}}}}}}, \u0026#34;notes\u0026#34;: \u0026#34;curl_cc_test\u0026#34;}} Delete a change control curl Pending Change controls can be deleted as below:\ncurl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig?key.id=wvisXUy5N\u0026#39; Output:\n{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;wvisXUy5N\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-14T20:01:42.058348061Z\u0026#34;} Start a change control curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;},\u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:true,\u0026#34;notes\u0026#34;:\u0026#34;Starting change via REST call\u0026#34;}}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;}, \u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:true, \u0026#34;notes\u0026#34;:\u0026#34;starting change via curl\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-14T21:02:18.940285772Z\u0026#34;} Stop a change control curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;},\u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:false,\u0026#34;notes\u0026#34;:\u0026#34;Stopping change via REST call\u0026#34;}}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;}, \u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:false, \u0026#34;notes\u0026#34;:\u0026#34;stopping change via curl\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-14T21:02:21.830306071Z\u0026#34;} Schedule a change control curl Change control scheduling using Resource APIs is only supported in 2022.1.0 or newer.\nThe below example shows how to schedule a Change Control at 2:07 AM on 2021-12-23:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;5821c7c1-e276-4387-b60a\u0026#34;},\u0026#34;schedule\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;2021-12-23T02:07:00.0Z\u0026#34;,\u0026#34;notes\u0026#34;:\u0026#34;CC schedule via curl\u0026#34;}}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;5821c7c1-e276-4387-b60a\u0026#34;}, \u0026#34;schedule\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;2021-12-23T01:49:00Z\u0026#34;, \u0026#34;notes\u0026#34;:\u0026#34;CC schedule via curl\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-23T01:47:32.521200888Z\u0026#34;} A scheduled change will be only successfully executed if the change was approved.\nFetching the state of a scheduled change which wasn\u0026rsquo;t approved before execution time will result in the following error:\n\u0026quot;error\u0026quot;:\u0026quot;Reschedule required: not approved at schedule time\u0026quot;\ne.g.:\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControl?key.id=5821c7c1-e276-4387-b60a\u0026#39; {\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;5821c7c1-e276-4387-b60a\u0026#34;}, \u0026#34;change\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change_20211222_191032\u0026#34;, \u0026#34;rootStageId\u0026#34;:\u0026#34;root\u0026#34;, \u0026#34;stages\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;root\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;root\u0026#34;, \u0026#34;rows\u0026#34;:{\u0026#34;values\u0026#34;:[{\u0026#34;values\u0026#34;:[\u0026#34;stage0\u0026#34;, \u0026#34;stage1\u0026#34;, \u0026#34;stage2\u0026#34;, \u0026#34;stage3\u0026#34;]}]}}, \u0026#34;stage0\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage0\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1245\u0026#34;}}}}, \u0026#34;stage1\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage1\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1246\u0026#34;}}}}, \u0026#34;stage2\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage2\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1247\u0026#34;}}}}, \u0026#34;stage3\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage3\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1248\u0026#34;}}}}}}, \u0026#34;notes\u0026#34;:\u0026#34;curl_cc_test\u0026#34;, \u0026#34;time\u0026#34;:\u0026#34;2021-12-22T19:10:35.472979755Z\u0026#34;, \u0026#34;user\u0026#34;:\u0026#34;resourceapis\u0026#34;}, \u0026#34;error\u0026#34;:\u0026#34;Reschedule required: not approved at schedule time\u0026#34;, \u0026#34;schedule\u0026#34;:{\u0026#34;notes\u0026#34;:\u0026#34;Reschedule required: not approved at schedule time\u0026#34;, \u0026#34;time\u0026#34;:\u0026#34;2021-12-23T01:49:00.004927172Z\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-23T01:49:00.004927172Z\u0026#34;} Change the name of a Change Control curl curl -L -X POST \u0026#34;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#34; \\ -H \u0026#34;Content-Type: application/json\u0026#34; \\ -H \u0026#34;Accept: application/json\u0026#34; \\ -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; \\ -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;id\u0026#34;: \u0026#34;FvDMjNx7aRbUPnCUVqLQ4\u0026#34;},\u0026#34;change\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;MLAG ISSU in DC1\u0026#34; }}\u0026#39; or\ncurl -L -X POST \u0026#34;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#34; \\ -H \u0026#34;Content-Type: application/json\u0026#34; \\ -H \u0026#34;Accept: application/json\u0026#34; \\ -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; \\ -d @cc_payload.json where cc_payload.json has the following content:\n{ \u0026#34;key\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;FvDMjNx7aRbUPnCUVqLQ4\u0026#34; }, \u0026#34;change\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;MLAG ISSU in DC1\u0026#34; } } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/dashboard/","title":"Dashboard","tags":[],"description":"","content":" dashboard.v1 Get the status of a specific dashboard curl Get the configuration of a specific dashboard curl Get all dashboard configurations curl Create a dashboard curl Quick Import/Export example with cURL Quick Import/Export example with python Delete a dashboard curl Delete all dashboards (except the built-ins) curl To generate a service account token please refer to the authentication chapter.\nDashboard Resource APIs are supported from CVP 2021.3.0 (gRPC only) or newer and in CloudVision-as-a-Service. The REST endpoint for on-prem is available from 2022.3.0.\njq can be used to easily format and parse the outputs.\ndashboard.v1 Get the status of a specific dashboard curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/dashboard/v1/Dashboard?key.dashboardId=125125\u0026#39; You cannot use the result of this output to create a dashboard without removing the status-only related fields.\nGet the configuration of a specific dashboard curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/dashboard/v1/DashboardConfig?key.dashboardId=125125\u0026#39; Result:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;dashboardId\u0026#34;: \u0026#34;a6ad9e70-66aa-4faa-a0ca-9e7deee29ac4\u0026#34; }, \u0026#34;name\u0026#34;: \u0026#34;RAM\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;widgets\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;8327188b-a8c5-420e-a6ff-9209e700ab58\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;position\u0026#34;: { \u0026#34;x\u0026#34;: 0, \u0026#34;y\u0026#34;: 0 }, \u0026#34;dimensions\u0026#34;: { \u0026#34;width\u0026#34;: 8, \u0026#34;height\u0026#34;: 10 }, \u0026#34;type\u0026#34;: \u0026#34;aql-query-widget\u0026#34;, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;expression\\\u0026#34;:\\\u0026#34;let info = `*:Kernel/proc/meminfo` | map(merge(_value))\\\\n\\\\nmerge(`analytics:DatasetInfo/Devices`) | \\\\\\\\\\\\nwhere(dictHasKey(info, _key)) | \\\\\\\\\\\\nmap(info[_key]) | \\\\\\\\\\\\nmap(dictHasKey(_value, \\\\\\\u0026#34;memTotal\\\\\\\u0026#34;) ? (_value[\\\\\\\u0026#34;memTotal\\\\\\\u0026#34;] - _value[\\\\\\\u0026#34;memAvailable\\\\\\\u0026#34;]) / _value[\\\\\\\u0026#34;memTotal\\\\\\\u0026#34;] * 100 : 0)\\\u0026#34;,\\\u0026#34;graphConfig\\\u0026#34;:{\\\u0026#34;mapToHostname\\\u0026#34;:true},\\\u0026#34;visualization\\\u0026#34;:\\\u0026#34;barGraph\\\u0026#34;}\u0026#34;, \u0026#34;location\u0026#34;: \u0026#34;main\u0026#34;, \u0026#34;parent\u0026#34;: \u0026#34;\u0026#34; } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2022-11-08T02:07:05.218Z\u0026#34; } The value key of the result of the DashboardConfig call can then be used to create a dashboard on another CloudVision instance.\nGet all dashboard configurations curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/Dashboard/all\u0026#39; Create a dashboard curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig\u0026#39; -d @bgp-peering.json Input file:\n{ \u0026#34;key\u0026#34;: { \u0026#34;dashboard_id\u0026#34;: \u0026#34;dd328b0c-279f-4d75-841c-c7489cd6f7fe\u0026#34; }, \u0026#34;name\u0026#34;: \u0026#34;bgp peering info\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;widgets\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;c2e45460-b76c-4007-8963-1ca87f6f3322\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;position\u0026#34;: { \u0026#34;x\u0026#34;: 0, \u0026#34;y\u0026#34;: 0 }, \u0026#34;dimensions\u0026#34;: { \u0026#34;width\u0026#34;: 19, \u0026#34;height\u0026#34;: 17 }, \u0026#34;type\u0026#34;: \u0026#34;aql-query-widget\u0026#34;, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;expression\\\u0026#34;:\\\u0026#34;let data = merge(`\u0026lt;device\u0026gt;:/Smash/routing/bgp/bgpPeerInfoStatus/default/bgpPeerStatusEntry`)\\\\nlet data3 = merge(`\u0026lt;device\u0026gt;:/Smash/routing/bgp/bgpPeerInfoStatus/default/bgpPeerStatisticsEntry`)\\\\nlet data2 = `analytics:/Devices/\u0026lt;device\u0026gt;/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*` | map(merge(_value))\\\\nlet y_data = newDict()\\\\n\\\\n\\\\n\\\\nfor key, val in data { \\\\n if val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][3][\\\\\\\u0026#34;Name\\\\\\\u0026#34;] != \\\\\\\u0026#34;Unknown\\\\\\\u0026#34; {\\\\n y_data[key] = val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][3]\\\\n y_data[key][\\\\\\\u0026#34;AFI/SAFI State\\\\\\\u0026#34;] = \\\\\\\u0026#34;L2VPN EVPN\\\\\\\u0026#34;\\\\n }\\\\n if val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][1][\\\\\\\u0026#34;Name\\\\\\\u0026#34;] != \\\\\\\u0026#34;Unknown\\\\\\\u0026#34; {\\\\n y_data[key] = val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][1]\\\\n y_data[key][\\\\\\\u0026#34;AFI/SAFI State\\\\\\\u0026#34;] = \\\\\\\u0026#34;IPv4 Unicast\\\\\\\u0026#34;\\\\n }\\\\n y_data[key][\\\\\\\u0026#34;AS\\\\\\\u0026#34;] = data2[key][\\\\\\\u0026#34;bgpPeerAs\\\\\\\u0026#34;][\\\\\\\u0026#34;value\\\\\\\u0026#34;]\\\\n \\\\n \\\\n}\\\\n\\\\n\\\\nfor key, val in data3 {\\\\n y_data[key][\\\\\\\u0026#34;MsgRcvd\\\\\\\u0026#34;] = val[\\\\\\\u0026#34;bgpPeerInTotalMessages\\\\\\\u0026#34;]\\\\n y_data[key][\\\\\\\u0026#34;MsgSent\\\\\\\u0026#34;] = val[\\\\\\\u0026#34;bgpPeerOutTotalMessages\\\\\\\u0026#34;]\\\\n}\\\\ny_data\\\u0026#34;,\\\u0026#34;visualization\\\u0026#34;:\\\u0026#34;table\\\u0026#34;}\u0026#34;, \u0026#34;location\u0026#34;: \u0026#34;main\u0026#34; }, { \u0026#34;id\u0026#34;: \u0026#34;5d707fe5-6995-4485-809b-b2a50840b655\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;position\u0026#34;: { \u0026#34;x\u0026#34;: 0, \u0026#34;y\u0026#34;: 0 }, \u0026#34;dimensions\u0026#34;: { \u0026#34;width\u0026#34;: 4, \u0026#34;height\u0026#34;: 2 }, \u0026#34;type\u0026#34;: \u0026#34;input-widget\u0026#34;, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;defaultValue\\\u0026#34;:\\\u0026#34;0123F2E4462997EB155B7C50EC148767\\\u0026#34;,\\\u0026#34;inputName\\\u0026#34;:\\\u0026#34;device\\\u0026#34;,\\\u0026#34;inputSource\\\u0026#34;:\\\u0026#34;devices\\\u0026#34;,\\\u0026#34;inputWidgetId\\\u0026#34;:\\\u0026#34;5d707fe5-6995-4485-809b-b2a50840b655\\\u0026#34;,\\\u0026#34;tagLabel\\\u0026#34;:\\\u0026#34;device\\\u0026#34;}\u0026#34;, \u0026#34;location\u0026#34;: \u0026#34;inputs\u0026#34; } ] } } Quick Import/Export example with cURL Export from instance 1:\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/dashboard/v1/DashboardConfig?key.dashboardId=125125\u0026#39; | jq .value \u0026gt; networkmonitoring.json Import to instance 2:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig\u0026#39; -d @networkmonitoring.json Quick Import/Export example with python The following example will download a dashboard from an on-prem instance and upload it to a CVaaS tenant:\nimport requests # Read bearer token for 192.0.2.79 with open(\u0026#39;token1.tok\u0026#39;, \u0026#39;r\u0026#39;) as file: bearer_token1 = file.read().strip() # Connect to the first API and retrieve the dashboard dashboard_id = \u0026#34;CHANGEME\u0026#34; api_url = f\u0026#34;http://192.0.2.79/api/resources/dashboard/v1/DashboardConfig?key.dashboardId={dashboard_id}\u0026#34; headers1 = { \u0026#39;Authorization\u0026#39;: f\u0026#39;Bearer {bearer_token1}\u0026#39; } response1 = requests.get(api_url, headers=headers1, verify=False) dashboard_data = response1.json() # Read bearer token for www.arista.io with open(\u0026#39;token2.tok\u0026#39;, \u0026#39;r\u0026#39;) as file: bearer_token2 = file.read().strip() # Connect to www.arista.io and upload the dashboard # Note that the correct regional CVaaS URL should be used if your tenant is not on us-central1-a upload_url = \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig\u0026#39; headers2 = { \u0026#39;Authorization\u0026#39;: f\u0026#39;Bearer {bearer_token2}\u0026#39; } response2 = requests.post(upload_url, headers=headers2, json=dashboard_data[\u0026#34;value\u0026#34;]) if response2.status_code == 200: print(\u0026#39;Dashboard uploaded successfully!\u0026#39;) else: print(\u0026#39;Failed to upload the dashboard.\u0026#39;) Delete a dashboard curl curl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig?key.dashboardId=dd328b0c-279f-4d75-841c-c7489cd6f7fe\u0026#39; Output:\n{\u0026#34;key\u0026#34;:{\u0026#34;dashboardId\u0026#34;:\u0026#34;dd328b0c-279f-4d75-841c-c7489cd6f7fe\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-08-12T19:12:15.855946857Z\u0026#34;} Delete all dashboards (except the built-ins) curl curl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig/all\u0026#39; "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/endpointlocation/","title":"Endpointlocation","tags":[],"description":"","content":" endpointlocation.v1 Get the location of an endpoint based on its MAC Address curl Get the location of an endpoint based on its IP Address curl Get the location of all connected endpoints python To generate a service account token please refer to the authentication chapter.\nEndpointlocation Resource APIs are supported from CVP 2021.1.0 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nendpointlocation.v1 Get the location of an endpoint based on its MAC Address curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/endpointlocation/v1/EndpointLocation?key.searchTerm=50:08:00:5b:d1:46\u0026#39; | jq Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;searchTerm\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34; }, \u0026#34;deviceMap\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;ENDPOINT_50:08:00:5b:d1:46\u0026#34;: { \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34;, \u0026#34;IDENTIFIER_SOURCE_LLDP\u0026#34; ] } } ] }, \u0026#34;deviceType\u0026#34;: \u0026#34;DEVICE_TYPE_ENDPOINT\u0026#34;, \u0026#34;locationList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Port-Channel4\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.785182952Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_LEARNED_DYNAMIC\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_VERY_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_DIRECT_CONNECTION\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34;, \u0026#34;IDENTIFIER_SOURCE_LLDP\u0026#34; ] } } ] } }, { \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Port-Channel4\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.813458919Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_PEER_DYNAMIC\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_VERY_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_DIRECT_CONNECTION\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34;, \u0026#34;IDENTIFIER_SOURCE_LLDP\u0026#34; ] } } ] } }, { \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Vxlan1\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.823923349Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_EVPN_DYNAMIC_REMOTE\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_LESS_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_VIRTUAL\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34; ] } } ] } }, { \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Vxlan1\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.851241350Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_EVPN_DYNAMIC_REMOTE\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_LESS_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_VIRTUAL\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34; ] } } ] } } ] }, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34; } } } }, \u0026#34;time\u0026#34;: \u0026#34;0001-01-01T00:00:00Z\u0026#34; } Get the location of an endpoint based on its IP Address To successfully find the endpoint, the IP address of the endpoint has to exist in either the MAC or ARP or DHCP or inventory tables and in the LLDP neighbor table.\ncurl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/endpointlocation/v1/EndpointLocation?key.searchTerm=10.142.148.50\u0026#39; | jq Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;searchTerm\u0026#34;: \u0026#34;10.142.148.50\u0026#34; }, \u0026#34;deviceMap\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;ENDPOINT_00:50:56:97:b8:f9\u0026#34;: { \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;00:50:56:97:b8:f9\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } }, { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_IPV4_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;10.142.148.50\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } } ] }, \u0026#34;deviceType\u0026#34;: \u0026#34;DEVICE_TYPE_ENDPOINT\u0026#34;, \u0026#34;locationList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE14252456\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Ethernet47\u0026#34;, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-13T01:13:11.492331146Z\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_NON_INVENTORY_CONNECTION\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_IPV4_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;10.142.148.50\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } }, { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;00:50:56:97:b8:f9\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } } ] } } ] }, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34; } } } }, \u0026#34;time\u0026#34;: \u0026#34;0001-01-01T00:00:00Z\u0026#34; } Get the location of all connected endpoints python The GetAll RPC is not implemented in this resource API, however a combination of cloudvision.Connector and the GetOne rAPI can be used to generate a report of all connected endpoints. An example that achieves this can be found on the cloudvision-python repo.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/events/","title":"Events","tags":[],"description":"","content":" Events Get all active events curl cvprac python requests Get a specific event curl cvprac python requests Get events between two dates curl cvprac python requests Get all INFO severity events curl cvprac python requests Get specific event types curl cvprac python requests Get all Low device disk space events with ERROR severity curl To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nEvents Get all active events curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; -b access_token=`cat token.tok` cvprac event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; response = client.get(event_url) python requests def get_events_all(): event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; url = cvp_url + event_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) print(response.text) get_events_all() Get a specific event curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.33/api/resources/event/v1/Event?key.key=6152f6160fc38f55\u0026amp;key.timestamp=2021-03-23T13:38:59.295341290Z\u0026#39; Result:\n{ \u0026#34;value\u0026#34;:{ \u0026#34;key\u0026#34;:{ \u0026#34;key\u0026#34;:\u0026#34;6152f6160fc38f55\u0026#34;, \u0026#34;timestamp\u0026#34;:\u0026#34;2021-03-23T13:38:59.295341290Z\u0026#34; }, \u0026#34;severity\u0026#34;:\u0026#34;EVENT_SEVERITY_ERROR\u0026#34;, \u0026#34;title\u0026#34;:\u0026#34;Low Disk Volume Space Available\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Detected low disk space on volume /mnt/flash, 93.46756% of space used\u0026#34;, \u0026#34;eventType\u0026#34;:\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;, \u0026#34;data\u0026#34;:{ \u0026#34;data\u0026#34;:{ \u0026#34;deviceId\u0026#34;:\u0026#34;JPE15233329\u0026#34;, \u0026#34;threshold\u0026#34;:\u0026#34;90\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;93.46756\u0026#34;, \u0026#34;volume\u0026#34;:\u0026#34;/mnt/flash\u0026#34; } }, \u0026#34;components\u0026#34;:{ \u0026#34;components\u0026#34;:[ { \u0026#34;type\u0026#34;:\u0026#34;COMPONENT_TYPE_DEVICE\u0026#34;, \u0026#34;components\u0026#34;:{ \u0026#34;deviceId\u0026#34;:\u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;:\u0026#34;2021-03-25T14:37:00Z\u0026#34; } The time key here shows the state of the resource at a given time, key.timestmap is part of the key for that an event.\ncvprac event_url = \u0026#39;/api/resources/event/v1/Event?\u0026#39; url = event_url + \u0026#39;key.key=\u0026#39; + key + \u0026#34;\u0026amp;key.timestamp=\u0026#34; + ts response = client.get(url) python requests def get_event(key, ts): event_url = \u0026#39;/api/resources/event/v1/Event?\u0026#39; url = cvp_url + event_url + \u0026#39;key.key=\u0026#39; + key + \u0026#34;\u0026amp;key.timestamp=\u0026#34; + ts head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) print(response.text) get_event(\u0026#34;bf931ff01f5c5a2\u0026#34;,\u0026#34;2021-04-01T18:14:53Z\u0026#34;) Get events between two dates When fetching a state from NetDB between two arbitrary dates, the result returned will contain data that existed between those two dates and not just data that was created between those dates. For instance if BGP events are queried between 2021-03-24 09:00 and 2021-03-24 10:00 the result will contain events that were active in the range of 9 AM to 10 AM. If there were events that started before 9 AM and were not resolved (still active) at that time, the result will contain those events too.\ncurl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all?time.start=2021-03-24T09:00:00Z\u0026amp;time.end=2021-03-24T10:00:00Z\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6a5eea29e5599b0\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-02-04T23:19:22.809962243Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_WARNING\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Interface went down unexpectedly\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Interface Ethernet1 on JPE19332824 is no longer operationally active\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;DEVICE_INTF_ERR_SMART\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet1\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_INTERFACE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet1\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2021-02-04T23:19:22.809962243Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6acbaa29e5b6002\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-02-04T23:19:22.819264873Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_WARNING\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Interface went down unexpectedly\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Interface Ethernet3 on JPE19332824 is no longer operationally active\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;DEVICE_INTF_ERR_SMART\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet3\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_INTERFACE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet3\u0026#34; } } ] } } cvprac event_url = \u0026#39;/api/resources/event/v1/Event/all?\u0026#39; url = event_url + \u0026#39;time.start=\u0026#39; + t1 + \u0026#34;\u0026amp;time.end=\u0026#34; + t2 response = client.get(url) python requests def get_events_t1_t2(t1, t2): event_url = \u0026#39;/api/resources/event/v1/Event/all?\u0026#39; url = cvp_url + event_url + \u0026#39;time.start=\u0026#39; + t1 + \u0026#34;\u0026amp;time.end=\u0026#34; + t2 head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) print(response.text) get_events_t1_t2(\u0026#34;2021-03-24T09:00:00Z\u0026#34;, \u0026#34;2021-03-24T10:00:00Z\u0026#34;) Get all INFO severity events To apply filters on events, the POST method has to be used.\ncurl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: 1}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;571d021ba26bbb96\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2020-12-11T10:35:00Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_INFO\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;High PTP skew\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Detected high PTP skew (0)\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;HIGH_PTP_SKEW\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34;, \u0026#34;discovered\u0026#34;: \u0026#34;true\u0026#34;, \u0026#34;threshold\u0026#34;: \u0026#34;0.9\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;0\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2020-12-11T10:35:00Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_INFO\u0026#34;}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partial_eq_filter\u0026#34;: [{\u0026#34;severity\u0026#34;: 1}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; cvprac severity = 1 ## Severity INFO payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: severity }]} event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; response = client.post(event_url, data=payload) python requests def get_events_by_severity(severity): payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: severity }]} event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; url = cvp_url + event_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.post(url, headers=head, data=json.dumps(payload), verify=False) print(response.text) # Get with string value get_events_by_severity(\u0026#34;EVENT_SEVERITY_INFO\u0026#34;) # Get with enum value get_events_by_severity(1) Get specific event types curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;:\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6152f6160fc38f55\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-03-23T13:38:59.295341290Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_ERROR\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Low Disk Volume Space Available\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Detected low disk space on volume /mnt/flash, 93.46756% of space used\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34;, \u0026#34;threshold\u0026#34;: \u0026#34;90\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;93.46756\u0026#34;, \u0026#34;volume\u0026#34;: \u0026#34;/mnt/flash\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_DEVICE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2021-03-23T13:38:59.295341290Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } cvprac etype = \u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34; payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;: etype }]} get_events_by_type = clnt.post(event_url, data=payload) print(get_events_by_type) python requests def get_events_by_type(etype): payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;: etype }]} event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; url = cvp_url + event_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.post(url, headers=head, data=json.dumps(payload), verify=False) print(response.text) get_events_by_type(\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;) Get all Low device disk space events with ERROR severity The Low Disk Volume Space Available events have two default rules (custom rules can be added):\ngenerate a WARNING event if a partition on EOS goes above 80% generate an ERROR event if a partition on EOS goes above 90% To get only the ERROR events we can add the severity key to our filter.\ncurl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;:\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;,\u0026#34;severity\u0026#34;:\u0026#34;EVENT_SEVERITY_ERROR\u0026#34;}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6152f6160fc38f55\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-04-06T19:39:29.307757986Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_ERROR\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Low Disk Volume Space Available\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Detected low disk space on volume /mnt/flash, 93.46767% of space used\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34;, \u0026#34;threshold\u0026#34;: \u0026#34;90\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;93.46767\u0026#34;, \u0026#34;volume\u0026#34;: \u0026#34;/mnt/flash\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_DEVICE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2021-04-06T19:39:29.307757986Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } If the partialEqFilter would\u0026rsquo;ve had two dictionaries inside the list, e.g.: [{\u0026quot;eventType\u0026quot;:\u0026quot;LOW_DEVICE_DISK_SPACE\u0026quot;},{\u0026quot;severity\u0026quot;:\u0026quot;EVENT_SEVERITY_ERROR\u0026quot;}]}' the filtering would\u0026rsquo;ve used an OR operation instead of AND, meaning that all events that have eventType=\u0026quot;LOW_DEVICE_DISK_SPACE\u0026quot; and all events that have ERROR severity would\u0026rsquo;ve been printed.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/","title":"Examples","tags":[],"description":"","content":" gRPC REST API Examples "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/grpc/","title":"gRPC","tags":[],"description":"","content":" For troubleshooting the following trace can be added before the grpcurl command: GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info\ngRPC API examples gRPC APIs for both Resource APIs and cloudvision.Connector can be found at:\nhttps://github.com/aristanetworks/cloudvision-python https://github.com/aristanetworks/cloudvision-go gRPCurl Syntaxes List services grpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; list List methods of a service grpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; list \u0026lt;serviceName\u0026gt; Describe the details of the messages of the methods of a service grpcurl -plaintext -msg-template -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; describe \u0026lt;serviceName\u0026gt;.\u0026lt;method\u0026gt; Perform a call grpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; -d \u0026#39;\u0026lt;JSON data\u0026gt;\u0026#39; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; \u0026lt;serviceName\u0026gt;/\u0026lt;method\u0026gt; gRPCurl examples List event services grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 list Result:\narista.event.v1.EventAnnotationConfigService arista.event.v1.EventService List methods of EventService grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 list arista.event.v1.EventService Result:\narista.event.v1.EventService.GetAll arista.event.v1.EventService.GetOne arista.event.v1.EventService.Subscribe Describe the details of the messages of the GetAll method of the EventService grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 describe arista.event.v1.EventService.GetAll Result:\narista.event.v1.EventService.GetAll is a method: rpc GetAll ( .arista.event.v1.EventStreamRequest ) returns ( stream .arista.event.v1.EventStreamResponse ); Describe the message template of the .arista.event.v1.EventStreamRequest message grpcurl -plaintext -msg-template -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 describe .arista.event.v1.EventStreamRequest Result:\narista.event.v1.EventStreamRequest is a message: message EventStreamRequest { // PartialEqFilter provides a way to server-side filter a GetAll/Subscribe. // This requires all provided fields to be equal to the response. // // While transparent to users, this field also allows services to optimize internal // subscriptions if filter(s) are sufficiently specific. repeated .arista.event.v1.Event partial_eq_filter = 1; // TimeRange allows limiting response data to within a specified time window. // If this field is populated, at least one of the two time fields are required. // // This field is not allowed in the Subscribe RPC. .arista.time.TimeBounds time = 3; } Message template: { \u0026#34;partialEqFilter\u0026#34;: [ { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_UNSPECIFIED\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;\u0026#34;: \u0026#34;\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_UNSPECIFIED\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;\u0026#34;: \u0026#34;\u0026#34; } } ] }, \u0026#34;ack\u0026#34;: { \u0026#34;ack\u0026#34;: false, \u0026#34;acker\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;ackTime\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; }, \u0026#34;notes\u0026#34;: { \u0026#34;notes\u0026#34;: { \u0026#34;0\u0026#34;: { \u0026#34;note\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;noteCreator\u0026#34;: \u0026#34;\u0026#34; } } }, \u0026#34;lastUpdatedTime\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; } ], \u0026#34;time\u0026#34;: { \u0026#34;start\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34;, \u0026#34;end\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; } } Describe the event severities grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 describe arista.event.v1.EventSeverity Result:\narista.event.v1.EventSeverity is an enum: // EventSeverity is the severity level of the event enum EventSeverity { EVENT_SEVERITY_UNSPECIFIED = 0; EVENT_SEVERITY_INFO = 1; EVENT_SEVERITY_WARNING = 2; EVENT_SEVERITY_ERROR = 3; EVENT_SEVERITY_CRITICAL = 4; } We can apply server-side filters using partialEqFilter or partial_eq_filter (so both snake_case and lowerCamelCase are supported) and apply various filters such as severity or eventType and others.\nSome of the variables are enums which means we can use both the variant and the discriminant, as in the below two examples we can get all ERROR severity events by setting severity to ​​EVENT_SEVERITY_ERROR or to 3, both would yield the same result:\ngrpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;severity\u0026#34;:\u0026#34;EVENT_SEVERITY_ERROR\u0026#34;}]}\u0026#39; 192.0.2.100:443 arista.event.v1.EventService/GetAll or\ngrpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;severity\u0026#34;:3}]}\u0026#39; 192.0.2.100:443 arista.event.v1.EventService/GetAll "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/inventory/","title":"Inventory","tags":[],"description":"","content":" Device Get device state by serial number curl Get all devices from inventory curl cvprac python requests Decommission a device curl Get the decommission state of a device curl Get the decommission state of all devices curl Get the decommission state of all devices that failed to be decommissioned curl Onboard a device curl Get the onboarding state by request ID curl Get the onboarding state for all devices curl Get the onboarding state for all devices and filter by status curl Get the provisioning state for devices in ZTP mode curl To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nDevice Get device state by serial number curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device?key.deviceId=BAD032986065E8DC14CBB6472EC314A6\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;}, \u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;, \u0026#34;modelName\u0026#34;:\u0026#34;vEOS-lab\u0026#34;, \u0026#34;hardwareRevision\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;fqdn\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;, \u0026#34;hostname\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;, \u0026#34;domainName\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;systemMacAddress\u0026#34;:\u0026#34;50:08:00:a7:ca:c3\u0026#34;, \u0026#34;bootTime\u0026#34;:\u0026#34;2021-12-01T20:06:18.607800006Z\u0026#34;, \u0026#34;streamingStatus\u0026#34;:\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;, \u0026#34;extendedAttributes\u0026#34;:{\u0026#34;featureEnabled\u0026#34;:{\u0026#34;Danz\u0026#34;:false, \u0026#34;Mlag\u0026#34;:false}}}, \u0026#34;time\u0026#34;:\u0026#34;2022-02-03T10:04:38.376359403Z\u0026#34;}% Get all devices from inventory curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device/all\u0026#39; | jq \u0026#39;.result.value | with_entries(select(.[])) | select(.streamingStatus==\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;) | .hostname\u0026#39; \u0026#34;cd263\u0026#34; \u0026#34;sn413\u0026#34; \u0026#34;fm422\u0026#34; \u0026#34;sn503\u0026#34; \u0026#34;psp301\u0026#34; \u0026#34;wl504\u0026#34; \u0026#34;cloudEOS1\u0026#34; We can use POST and partialEqFilter to get more specific data, e.g.: to get all actively streaming devices we can filter by streamingStatus by setting the \u0026quot;STREAMING_STATUS_ACTIVE\u0026quot; or 2\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;streamingStatus\u0026#34;:2}]}\u0026#39; Get all actively streaming devices that are running on EOS 4.27.0F:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;streamingStatus\u0026#34;:2, \u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;,\u0026#34;modelName\u0026#34;:\u0026#34;vEOS-lab\u0026#34;,\u0026#34;hardwareRevision\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;fqdn\u0026#34;:\u0026#34;tp-avd-leaf4\u0026#34;,\u0026#34;hostname\u0026#34;:\u0026#34;tp-avd-leaf4\u0026#34;,\u0026#34;domainName\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;systemMacAddress\u0026#34;:\u0026#34;50:08:00:25:9d:36\u0026#34;,\u0026#34;bootTime\u0026#34;:\u0026#34;2021-10-20T17:44:35.621819972Z\u0026#34;,\u0026#34;streamingStatus\u0026#34;:\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;,\u0026#34;extendedAttributes\u0026#34;:{\u0026#34;featureEnabled\u0026#34;:{\u0026#34;Danz\u0026#34;:false,\u0026#34;Mlag\u0026#34;:false}}},\u0026#34;time\u0026#34;:\u0026#34;2022-01-27T22:33:58.745524517Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;,\u0026#34;modelName\u0026#34;:\u0026#34;vEOS-lab\u0026#34;,\u0026#34;hardwareRevision\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;fqdn\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;,\u0026#34;hostname\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;,\u0026#34;domainName\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;systemMacAddress\u0026#34;:\u0026#34;50:08:00:a7:ca:c3\u0026#34;,\u0026#34;bootTime\u0026#34;:\u0026#34;2021-12-01T20:06:18.607800006Z\u0026#34;,\u0026#34;streamingStatus\u0026#34;:\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;,\u0026#34;extendedAttributes\u0026#34;:{\u0026#34;featureEnabled\u0026#34;:{\u0026#34;Danz\u0026#34;:false,\u0026#34;Mlag\u0026#34;:false}}},\u0026#34;time\u0026#34;:\u0026#34;2022-02-03T10:04:38.376359403Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} cvprac def get_active_devices(client): \u0026#39;\u0026#39;\u0026#39; Get active devices \u0026#39;\u0026#39;\u0026#39; dev_url = \u0026#39;/api/resources/inventory/v1/Device/all\u0026#39; devices_data = client.get(dev_url) devices = [] for device in devices_data[\u0026#39;data\u0026#39;]: try: if device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;streamingStatus\u0026#39;] == \u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;: devices.append(device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;hostname\u0026#39;]) # pass on archived datasets except KeyError as e: continue return devices print(get_active_devices(clnt)) python requests from json import JSONDecoder, JSONDecodeError def json_decoder(data): decoder = JSONDecoder() pos = 0 result = [] while True: try: o, pos = decoder.raw_decode(data, pos) result.append(o) pos +=1 except JSONDecodeError: break return result def get_active_devices(): dev_url = \u0026#39;/api/resources/inventory/v1/Device/all\u0026#39; url = cvp_url + dev_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) devices_data = json_decoder(response.text) devices = [] for device in devices_data: try: if device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;streamingStatus\u0026#39;] == \u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;: devices.append(device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;hostname\u0026#39;]) # pass on archived datasets except KeyError as e: continue return devices print(get_active_devices()) Sample output python3 resource_native.py [\u0026#39;cd263\u0026#39;, \u0026#39;sn413\u0026#39;, \u0026#39;fm422\u0026#39;, \u0026#39;sn503\u0026#39;, \u0026#39;psp301\u0026#39;, \u0026#39;wl504\u0026#39;, \u0026#39;cloudEOS1\u0026#39;] Decommission a device curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioningConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;123456789\u0026#34;},\u0026#34;device_id\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;}\u0026#39; Get the decommission state of a device curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning?key.requestId=123456789\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;123456789\u0026#34;}, \u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_IN_PROGRESS\u0026#34;, \u0026#34;statusMessage\u0026#34;:\u0026#34;Disabled TerminAttr, waiting for device to be marked inactive\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2022-02-04T00:40:24.893100195Z\u0026#34;} Get the decommission state of all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning/all\u0026#39; Get the decommission state of all devices that failed to be decommissioned curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [ {\u0026#34;status\u0026#34;:2}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;2337d655-b1e5-4003-9325-beff8c9e7f4a\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_FAILURE\u0026#34;,\u0026#34;error\u0026#34;:\u0026#34;Timed out waiting for device BAD032986065E8DC14CBB6472EC314A6 status to be inactive\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:49.566294590Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;7802d5a5-040d-4d86-805f-d63891256201\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_FAILURE\u0026#34;,\u0026#34;error\u0026#34;:\u0026#34;Pending/In-progress tasks exist for the device\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:49.566299871Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;d88b046f-3338-450f-bf47-a28f6ced700e\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_FAILURE\u0026#34;,\u0026#34;error\u0026#34;:\u0026#34;Pending/In-progress tasks exist for the device\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:49.566304560Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} or get the state of decommissioning for devices for which the decommissioning is still in progress:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [ {\u0026#34;status\u0026#34;:1}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;123456789\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_IN_PROGRESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Disabled TerminAttr, waiting for device to be marked inactive\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:46.376310308Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Onboard a device The service account\u0026rsquo;s name has to match the username logged in on the CVP UI and that same username has to be allowed on the device. The user should be logged in on the UI when using the the DeviceOnboarding APIs.\ncurl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboardingConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;},\u0026#34;hostnameOrIp\u0026#34;:\u0026#34;192.0.2.139\u0026#34;,\u0026#34;device_type\u0026#34;:\u0026#34;eos\u0026#34;}\u0026#39; Get the onboarding state by request ID curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboarding?key.requestId=133713371337\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;}, \u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ9999999\u0026#34;, \u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;, \u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:51:13.447185558Z\u0026#34;} Get the onboarding state for all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboarding/all\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ9999999\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:51:13.447185558Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get the onboarding state for all devices and filter by status curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboarding/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;}]}\u0026#39; {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ7654321\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:51:13.447185558Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;1337133713381123\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ1234567\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T22:46:33.709449980Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;0342271e-19e0-4672-9d09-85acd7a427b5\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-07-11T15:19:22.293390239Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get the provisioning state for devices in ZTP mode curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/ProvisionedDevice/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;ztpMode\u0026#34;:true}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE15214224\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.240\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-01-31T13:16:09.885Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE19050707\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.121\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-01-30T19:06:00.070338261Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE16401934\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.254\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:48:14.187Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE15064123\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.250\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:53:13.016Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/lifecycle/","title":"Lifecycle","tags":[],"description":"","content":" Lifecycle.v1 Get device lifecycle summary for all devices curl Get device lifecycle summary for a device curl To generate a service account token please refer to the authentication chapter.\nLifecycle Resource APIs are supported from CVP 2022.1.1 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nLifecycle.v1 Get device lifecycle summary for all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/lifecycle/v1/DeviceLifecycleSummary/all\u0026#39; Output:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;ZZZ9999999\u0026#34; }, \u0026#34;softwareEol\u0026#34;: { \u0026#34;version\u0026#34;: \u0026#34;4.28.1F\u0026#34;, \u0026#34;endOfSupport\u0026#34;: \u0026#34;2025-04-18T00:00:00Z\u0026#34; } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:37:43.841719913Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;ZZZ9999999\u0026#34; }, \u0026#34;softwareEol\u0026#34;: { \u0026#34;version\u0026#34;: \u0026#34;4.27.3.1F\u0026#34;, \u0026#34;endOfSupport\u0026#34;: \u0026#34;2024-09-27T00:00:00Z\u0026#34; }, \u0026#34;hardwareLifecycleSummary\u0026#34;: { \u0026#34;endOfLife\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2025-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } }, \u0026#34;endOfSale\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2022-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } }, \u0026#34;endOfTacSupport\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } }, \u0026#34;endOfHardwareRmaRequests\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2025-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } } } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-04T03:44:29.409669418Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } Get device lifecycle summary for a device curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/lifecycle/v1/DeviceLifecycleSummary?key.deviceId=ZZZ9999999\u0026#39; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;ZZZ9999999\u0026#34; }, \u0026#34;softwareEol\u0026#34;: { \u0026#34;version\u0026#34;: \u0026#34;4.23.10M\u0026#34;, \u0026#34;endOfSupport\u0026#34;: \u0026#34;2022-09-27T00:00:00Z\u0026#34; }, \u0026#34;hardwareLifecycleSummary\u0026#34;: { \u0026#34;endOfLife\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } }, \u0026#34;endOfSale\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2021-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } }, \u0026#34;endOfTacSupport\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } }, \u0026#34;endOfHardwareRmaRequests\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } } } }, \u0026#34;time\u0026#34;: \u0026#34;2022-07-26T06:56:05.385727340Z\u0026#34; } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/","title":"Models","tags":[],"description":"","content":" alert.v1 bugexposure.v1 changecontrol.v1 configlet.v1 configstatus.v1 connectivitymonitor.v1 dashboard.v1 endpointlocation.v1 event.v1 identityprovider.v1 imagestatus.v1 inventory.v1 lifecycle.v1 redirector.v1 serviceaccount.v1 studio.v1 tag.v2 workspace.v1 "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/","title":"REST API Examples","tags":[],"description":"","content":" Bugexposure Change Control Dashboard Endpointlocation Events Inventory Lifecycle Studios and Workspaces Tags Examples scripts: examples_cvprac.py, examples_python_rest.py\nREST bindings for Resource APIs were introduced in CVP 2021.1.0\nWhen fetching a state from NetDB between two arbitrary dates, the result returned will contain data that existed between those two dates and not just data that was created between those dates. For instance if BGP events are queried between 2023-05-01 10:00 and 2023-05-01 12:00 the result will contain events that were active in the range of 10 AM to 12 PM. If there were events that started before 10 AM and were not resolved (still active) at that time, the result will contain those events too.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/studios-and-workspaces/","title":"Studios and Workspaces","tags":[],"description":"","content":" Introduction Get Studio and Workspace info Get all workspace configs Get a single workspace config Get all workspaces’ state Get a single workspace state Get a workspace build status and output Get all studio configs Get all studios’ state Get a single studio config in a workspace Get a single studio config in mainline Get a single studio state in a workspace Get a single studio state in mainline Use an existing studio Create a workspace curl Set inputs for the studio curl Assign the studio to devices curl Build the workspace curl Submit the workspace curl Create a new Studio Create a workspace curl Create a studio curl Build the workspace curl Submit the workspace curl Delete a Studio Create workspace curl Unassign the tags curl Delete the studio curl Build the workspace curl Submit the workspace curl Delete a workspace grpcurl curl To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nIntroduction This document describes how to use Studio APIs to interact with Cloudvision Studios. They follow the Resource API semantics that are documented at https://aristanetworks.github.io/cloudvision-apis/. In this document, we illustrate the APIs using HTTP endpoints with JSON requests and responses. Using protobuf bindings, these operations can be done in a supported programming language (Go and Python) as well. See the above link for further details on how to use those bindings.\nAll changes that impact device configuration must be made in a workspace and submitted. The typical sequence of operations is 1.Create a workspace 2.Add objects that you want to modify into the workspace (either brand new objects, or copies of existing objects from mainline, or content that’s already submitted via a previous workspace); 3.Build the workspace 4.Submit.\nBelow are example APIs to use an existing studio, and also to create a brand new studio that generates timezone configuration. Given are the HTTP URL for each API and the body to POST to that URL.\nYou can use the below curl command to POST the body. “$token” is obtained from the access_token cookie returned by authenticating to CVP.\ncurl -sS -k -X POST $URL --cookie \u0026#34;access_token=$token\u0026#34; -d “$BODY” e.g.\ncurl -sS -k -X POST \u0026#34;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#34; --cookie \u0026#34;access_token=$token\u0026#34; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34;}, \u0026#34;display_name\u0026#34;: \u0026#34;Set timezone to EST\u0026#34;}\u0026#39; Note that for the field names in the POST body, both snake case (such as studio_id) and camel case (such as studioId) are accepted. Responses are always in camel case.\nGet Studio and Workspace info Get all workspace configs curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/WorkspaceConfig/all -b access_token=`cat token.tok` Get a single workspace config curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/WorkspaceConfig?key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get all workspaces’ state curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/Workspace/all -b access_token=`cat token.tok` Get a single workspace state curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/Workspace?key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get a workspace build status and output curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=ws-timezone\u0026amp;key.buildId=b1 -b access_token=`cat token.tok` Get all studio configs curl -sS -k -X GET https://$CVP/api/resources/studio/v1/StudioConfig/all -b access_token=`cat token.tok` grpcurl -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; -import-path $GOPATH/src/arista/resources -proto $GOPATH/src/arista/resources/arista/studio.v1/services.gen.proto -cacert cvp.crt 192.0.2.100:8443 arista.studio.v1.StudioConfigService/GetAll Get all studios’ state curl -sS -k -X GET https://$CVP/api/resources/studio/v1/Studio/all -b access_token=`cat token.tok` Get a single studio config in a workspace curl -sS -k -X GET https://$CVP/api/resources/studio/v1/StudioConfig?key.studioId=studio-timezone\u0026amp;key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get a single studio config in mainline curl -sS -k -X GET https://$CVP/api/resources/studio/v1/StudioConfig?key.studioId=studio-timezone\u0026amp;key.workspaceId= -b access_token=`cat token.tok` Get a single studio state in a workspace curl -sS -k -X GET https://$CVP/api/resources/studio/v1/Studio?key.studioId=studio-timezone\u0026amp;key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get a single studio state in mainline curl -sS -k -X GET https://$CVP/api/resources/studio/v1/Studio?key.studioId=studio-timezone\u0026amp;key.workspaceId= -b access_token=`cat token.tok` Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;studioId\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspaceId\u0026#34;: \u0026#34;\u0026#34; }, \u0026#34;displayName\u0026#34;: \u0026#34;Set timezone\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;This studio generates timezone configuration\u0026#34;, \u0026#34;template\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;TEMPLATE_TYPE_MAKO\u0026#34;, \u0026#34;body\u0026#34;: \u0026#34;%if timezoneAssignment[\\\u0026#34;timezone\\\u0026#34;]:\\nclock timezone ${timezoneAssignment[\\\u0026#34;timezone\\\u0026#34;]}\\n%endif\\n\u0026#34; }, \u0026#34;inputSchema\u0026#34;: { ... ... } } Use an existing studio Create a workspace URL: https://$CVP_INSTANCE/api/resources/workspace/v1/WorkspaceConfig POST BODY (workspace.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;display_name\u0026#34;:\u0026#34;Configure timezone\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Configure timezone on all devices\u0026#34;, } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Set inputs for the studio URL: https://$CVP/api/resources/studio/v1/InputsConfig POST BODY (studio-payload.json):\nNote the embedded JSON string.\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-date-time\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;ws-change-timezone\u0026#34;, \u0026#34;path\u0026#34;: {\u0026#34;values\u0026#34;: []} }, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;ntpServerResolver\\\u0026#34;: [{\\\u0026#34;inputs\\\u0026#34;: {\\\u0026#34;ntpServers\\\u0026#34;: [{\\\u0026#34;iburst\\\u0026#34;: false, \\\u0026#34;ntpServer\\\u0026#34;: \\\u0026#34;time.google.com\\\u0026#34;, \\\u0026#34;preferred\\\u0026#34;: false, \\\u0026#34;vrf\\\u0026#34;: \\\u0026#34;MGMT\\\u0026#34;}, {\\\u0026#34;iburst\\\u0026#34;: false, \\\u0026#34;ntpServer\\\u0026#34;: \\\u0026#34;pool.ntp.org\\\u0026#34;, \\\u0026#34;preferred\\\u0026#34;: false, \\\u0026#34;vrf\\\u0026#34;: \\\u0026#34;MGMT\\\u0026#34;}]}, \\\u0026#34;tags\\\u0026#34;: {\\\u0026#34;query\\\u0026#34;: \\\u0026#34;datacenter:NY\\\u0026#34;}}], \\\u0026#34;timezoneResolver\\\u0026#34;: [{\\\u0026#34;inputs\\\u0026#34;: {\\\u0026#34;timezoneGroup\\\u0026#34;: {\\\u0026#34;otherTimezone\\\u0026#34;: \\\u0026#34;\\\u0026#34;, \\\u0026#34;timezone\\\u0026#34;: \\\u0026#34;GMT\\\u0026#34;}}, \\\u0026#34;tags\\\u0026#34;: {\\\u0026#34;query\\\u0026#34;: \\\u0026#34;datacenter:NY\\\u0026#34;}}]}\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/InputsConfig\u0026#39; \\ -d \u0026#34;`cat studio-payload.json`\u0026#34; Assign the studio to devices URL: https://$CVP/api/resources/studio/v1/AssignedTagsConfig POST BODY (assigntags.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-date-time\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;query\u0026#34;: \u0026#34;datacenter:NY\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/AssignedTagsConfig\u0026#39; \\ -d \u0026#34;`cat assigntags.json`\u0026#34; Build the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig POST BODY (ws-build.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Submit the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig POST BODY:\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-submit.json`\u0026#34; Create a new Studio Create a workspace URL: https://$CVP_INSTANCE/api/resources/workspace/v1/WorkspaceConfig\nPOST BODY:\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; } \u0026#34;display_name\u0026#34;:\u0026#34;Configure timezone\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Configure timezone on all devices\u0026#34;, } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Create a studio URL: https://$CVP_INSTANCE/api/resources/studio/v1/StudioConfig\nPOST BODY (newstudio.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;ws-timezone\u0026#34; }, \u0026#34;display_name\u0026#34;: \u0026#34;Set timezone\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;This configlet generates timezone configuration\u0026#34;, \u0026#34;template\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;TEMPLATE_TYPE_MAKO\u0026#34;, \u0026#34;body\u0026#34;: \u0026#34;% if timezone:\\n clock timezone ${timezone}\\n% endif\\n\u0026#34; }, \u0026#34;input_schema\u0026#34;: { \u0026#34;fields\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;root\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INPUT_FIELD_TYPE_GROUP\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;group_props\u0026#34;: { \u0026#34;members\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;inputfield_timezoneAssignment\u0026#34; ] } } }, \u0026#34;inputfield_timezoneAssignment\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;inputfield_timezoneAssignment\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INPUT_FIELD_TYPE_RESOLVER\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;timezoneAssignment\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;Timezone Assignment\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Timezone resolver input\u0026#34;, \u0026#34;required\u0026#34;: false, \u0026#34;resolver_props\u0026#34;: { \u0026#34;base_field_id\u0026#34;: \u0026#34;inputfield_timezone\u0026#34;, \u0026#34;display_mode\u0026#34;: \u0026#34;RESOLVER_FIELD_DISPLAY_MODE_SPARSE\u0026#34;, \u0026#34;input_mode\u0026#34;: \u0026#34;RESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG\u0026#34; } }, \u0026#34;inputfield_timezone\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;inputfield_timezone\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INPUT_FIELD_TYPE_STRING\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;timezone\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;Timezone\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Timezone value configured on the device\u0026#34;, \u0026#34;string_props\u0026#34;: { \u0026#34;default_value\u0026#34;: \u0026#34;GMT\u0026#34;, \u0026#34;static_options\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;CST\u0026#34;, \u0026#34;EST\u0026#34;, \u0026#34;GMT\u0026#34;, \u0026#34;PST\u0026#34; ] } } } } } } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/StudioConfig\u0026#39; \\ -d \u0026#34;`cat newstudio.json`\u0026#34; Build the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig\nPOST BODY (ws-build.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-build.json`\u0026#34; Submit the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig POST BODY (ws-submit.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-submit.json`\u0026#34; Delete a Studio Create workspace POST BODY (workspace.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;del-studio\u0026#34; }, \u0026#34;display_name\u0026#34;:\u0026#34;Delete timezone studio\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Remove timezone on all devices\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;displayName\u0026#34;: \u0026#34;Delete timezone studio\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Remove timezone on all devices\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-16T23:59:35.551Z\u0026#34; } Unassign the tags POST BODY (unassigntags.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;query\u0026#34;: \u0026#34;\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/AssignedTagsConfig\u0026#39; \\ -d \u0026#34;`cat unassigntags.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;studioId\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspaceId\u0026#34;: \u0026#34;ws-timezone-delete\u0026#34; }, \u0026#34;query\u0026#34;: \u0026#34;\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-16T23:24:30.397673655Z\u0026#34; } Delete the studio POST BODY (deletestudio.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;remove\u0026#34;: true } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/StudioConfig\u0026#39; \\ -d \u0026#34;`cat deletestudio.json`\u0026#34; { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;studioId\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;remove\u0026#34;: true }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-17T00:00:45.225196219Z\u0026#34; } Build the workspace POST BODY (ws-build.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-build.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;: \u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;requestParams\u0026#34;: { \u0026#34;requestId\u0026#34;: \u0026#34;b1\u0026#34; } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-17T00:00:54.195Z\u0026#34; } Submit the workspace POST BODY (ws-submit.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;: \u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-submit.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;: \u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;requestParams\u0026#34;: { \u0026#34;requestId\u0026#34;: \u0026#34;s1\u0026#34; } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-17T00:00:57.894Z\u0026#34; } Delete a workspace URL: https://$CVP_INSTANCE/api/resources/workspace/v1/WorkspaceConfig\nPOST BODY:\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; } } grpcurl grpcurl -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; -import-path $GOPATH/src/arista/resources -proto $GOPATH/src/arista/resources/arista/workspace.v1/services.gen.proto -cacert cvp.crt -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;: \u0026#34;builtin-studios-V0-l3ls\u0026#34;}}\u0026#39; 192.0.2.100:8443 arista.workspace.v1.WorkspaceConfigService/Delete Result:\n{ \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;builtin-studios-V0-l3ls\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2021-07-22T17:09:51.788962287Z\u0026#34; } curl curl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig?key.workspaceId=builtin-studios-V0-l3ls\u0026#39; Result:\n{ \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;builtin-studios-V0-l3ls\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2021-07-22T17:39:28.789768498Z\u0026#34; } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/tag/","title":"Tags","tags":[],"description":"","content":" Tags Tag.v2 Get all tags Get all interface tags Get all device tags Create and assign device tag Create and assign interface tag Unassign a device or interface tag Remove an existing device/interface tag Show all tags edits in a workspace Show all tag assignment edits in a workspace Leaf-spine topology tagging example To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nTags Tag.v2 The Tag.v2 API is a workspace-aware resource APIs, meaning all changes must be done within a workspace. Changes only get commited upon submitting the workspace. The following examples will walk through device and interface tag creation and assignment workflow.\nGet all tags curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/Tag/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;bgp\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;disabled\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-31T12:13:02.196521931Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;bgp\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;enabled\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-14T07:26:29.341574116Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.3M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-28T02:59:00.766193431Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.5M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-14T07:26:27.413625640Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.25.0F\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T17:15:37.885129346Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.21.6F\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-29T13:42:04.760294195Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.4M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-02T09:43:47.909750932Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.24.2F\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-16T12:58:30.560542937Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.4.3M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-30T10:37:35.606467220Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.25.3.1M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-07T02:01:36.654997065Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan7\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-06-25T18:22:54.280867585Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan100\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-28T02:59:01.286803486Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan111\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-30T17:00:00.078489504Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan78\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-06-25T21:24:48.360777488Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T16:22:31.232251875Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan55\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-28T02:59:06.877353719Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan19\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T17:15:38.668776675Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get all interface tags curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/Tag/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;7de7c055-826c-4390-9dba-361afcb87536\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-31T01:07:29.839897276Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;a79b211e-83f5-430e-b1e2-b404c5aa1075\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;interface_role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;downlinks\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T13:29:21.111654547Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get all device tags curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/Tag/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;ire-pod10\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:55:04.750886803Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;12b90dee-b4a0-4882-b02b-3636ec7e3c4a\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;DC\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;DC1\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-27T11:44:44.607449628Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;12b90dee-b4a0-4882-b02b-3636ec7e3c4a\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;Role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Leaf\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-27T11:44:31.028093497Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;ire-pod111\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:55:14.319537170Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;26ad35cb-23e5-459c-8ef2-f1adac43406c\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;DC\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;DC@\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-07-29T13:21:27.229646717Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;26ad35cb-23e5-459c-8ef2-f1adac43406c\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;DC\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;DC1\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-07-29T13:22:34.405718999Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;0fa846aa-7830-402e-a33f-0fa20ad1ccf7\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;Role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Leaf\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-30T14:27:58.547155198Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Create and assign device tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test tag resource APIv2\u0026#34;}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;displayName\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test tag resource APIv2\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:54:54.274Z\u0026#34;}% 2. Create the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;testTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-pod10\u0026#34;}}\u0026#39; {\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;avd-pod10\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:55:14.319537170Z\u0026#34;}% 3. Assign the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;testTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod10\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;, }, \u0026#34;remove\u0026#34;: false}\u0026#39; 4. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;b1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:57:18.683Z\u0026#34;}% 5. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=testTag\u0026amp;key.buildId=b1\u0026#39; Result:\n{\u0026#39;value\u0026#39;: {\u0026#39;key\u0026#39;: {\u0026#39;workspaceId\u0026#39;: \u0026#39;testTag\u0026#39;, \u0026#39;buildId\u0026#39;: \u0026#39;b1\u0026#39;}, \u0026#39;state\u0026#39;: \u0026#39;BUILD_STATE_SUCCESS\u0026#39;, \u0026#39;buildResults\u0026#39;: {\u0026#39;values\u0026#39;: {}}}, \u0026#39;time\u0026#39;: \u0026#39;2021-09-02T17:59:24.116Z\u0026#39;} 6. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;s1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T18:00:13.680Z\u0026#34;}% Tag creation and assignment can be done in separate workspaces.\nCreate and assign interface tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;testIntfTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test interface tag resource APIv2\u0026#34;}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;displayName\u0026#34;:\u0026#34;testIntfTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test interface tag resource APIv2\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T00:42:58.736Z\u0026#34;}% 2. Create the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;testIntfTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;uplink}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T00:44:18.369201627Z\u0026#34;}% 3. Assign the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;testIntfTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;uplink\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;, \u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet1\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; 4. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;b1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T01:36:15.683Z\u0026#34;}% 5. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=testIntfTag\u0026amp;key.buildId=b1\u0026#39; Result:\n{\u0026#39;value\u0026#39;: {\u0026#39;key\u0026#39;: {\u0026#39;workspaceId\u0026#39;: \u0026#39;testIntfTag\u0026#39;, \u0026#39;buildId\u0026#39;: \u0026#39;b1\u0026#39;}, \u0026#39;state\u0026#39;: \u0026#39;BUILD_STATE_SUCCESS\u0026#39;, \u0026#39;buildResults\u0026#39;: {\u0026#39;values\u0026#39;: {}}}, \u0026#39;time\u0026#39;: \u0026#39;2021-09-03T01:36:24.116Z\u0026#39;} 6. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;s1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T18:00:13.680Z\u0026#34;}% Tag creation and assignment can be done in separate workspaces.\nUnassign a device or interface tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;deleteTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test interface tag deletion resource APIv2\u0026#34;}\u0026#39; 2.2. Unassign an interface tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;uplink\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;, \u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet1\u0026#34;},\u0026#34;remove\u0026#34;: true}\u0026#39; 2.2. Unassign a device tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;location\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;Dublin\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;},\u0026#34;remove\u0026#34;: true}\u0026#39; 3. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; 4. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=deleteTag\u0026amp;key.buildId=b1\u0026#39; 5. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Remove an existing device/interface tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;deleteTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test tag deletion\u0026#34;}\u0026#39; 2.1. Delete an interface tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;downlink\u0026#34;}, \u0026#34;remove\u0026#34;: true}\u0026#39; 2.2. Delete a device tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;location\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;Dublin\u0026#34;}, \u0026#34;remove\u0026#34;: true}\u0026#39; 3. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; 4. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=deleteTag\u0026amp;key.buildId=b1\u0026#39; 5. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Show all tags edits in a workspace curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;test1337\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;test1337\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;servers\u0026#34;},\u0026#34;remove\u0026#34;:false},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T22:21:08.546104408Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Show all tag assignment edits in a workspace curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;test1337\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;test1337\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;,\u0026#34;deviceId\u0026#34;:\u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;,\u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet1\u0026#34;},\u0026#34;remove\u0026#34;:false},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T21:50:06.187034368Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;test1337\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;,\u0026#34;deviceId\u0026#34;:\u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;,\u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet2\u0026#34;},\u0026#34;remove\u0026#34;:false},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T21:50:06.315113790Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Leaf-spine topology tagging example 1. Create Workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;AVD-lab\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;AVD-lab\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Set up topology tags\u0026#34;}\u0026#39; 2. Create tags\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-pod1\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-dc1\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-leafs1\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-leafs2\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-spines\u0026#34;}}\u0026#39; 3. Assign tags\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs2\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs2\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-spines\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-spines\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;spine\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;spine\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; 4. Start Build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;AVD-lab\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; 5. Submit workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;AVD-lab\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Result:\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/","title":"","tags":[],"description":"","content":"CloudVision APIs Cloudvision APIs are state based, resource-oriented APIs modeled in Protobuf and accessed over gRPC using a standardized set of RPC verbs.\nCloudVision is a powerful platform that processes and stores tremendous amounts of network data. It knows the topology of the network, device configuration, interface activity and other network events. These APIs allow access to fleet-wide data access and control, forming a management-plane with consistent usage.\nData Driven Functionality is defined in a data-oriented (rather than action-oriented) form. Designing the APIs to use state-synchronization confers some desirable traits:\nFor more information on modelling, see the Modeling page.\nUniform APIs Adding a new API simply means creating a new model. Once a model is made, a set of consistent API verbs can then be generated for it. These verbs are named and behave the same across all models. For clients this makes it near trivial to adapt usage of one API to another.\nErgonomic Asynchronous APIs Synchronous APIs, while simple, have some classic problems. Take for example a DoReboot operation. This operation has numerous failure modes:\nRequest Timeouts: perhaps the operation took longer than the client expected Network Interruption: similar to (1), but it\u0026rsquo;s entirely possible for a connection to break Device Bootlooping: perhaps rebooting is constantly failing. You must wait for a timeout to see that error. Service Interruption: perhaps the reboot service (or host machine) has unrelated issues during the request In each of these cases, the client is now responsible of determining which failure mode occurred and how to proceed.\nIn a state-sharing paradigm a reboot request might be performed by setting a reboot request attribute to the current time. The service can return from this request almost immediately (only durably writing the request). Then the client can subscribe to a last-reboot attribute and knows the device has been rebooted successfully when that attribute’s timestamp exceeds that of the reboot request. State sharing allows the various components involved in an action not to need to care about each other; they just need to synchronize state when they come up, and then they’ll do the right thing.\nPortable By modelling in protobuf and exposing gRPC RPCs, this data and management is accessible from nearly any environment in nearly any language.\nFor Arista-supported clients, see the Existing Clients page. Alternatively, a basic guide on creating your own.\nIn addition to pure-gRPC clients, HTTP REST mappings are easily generated through the great gRPC ecosystem. Thus, APIs can be utilized from nearly anywhere.\ngRPC Ecosystem Another benefit of using protobuf and gRPC is the vast ecosystem surrounding them. While portable client-generation is useful a well-supported ecosystem provides even more tooling.\nThis list is not extensive, nor an endorsement of any project. Many more tools can be found on the awesome-grpc page.\nGUIs BloomRPC Milkman CLI Tools GRPCurl evans Talks and Tutorials gRPC Overview: Talk at Slack by Varun Talwar gRPC: Google\u0026rsquo;s high-performance, open-source RPC framework by Sameer Ajmani gRPC: The Story of Microservices at Square \u0026hellip; and many more! "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/alert.v1/","title":"alert.v1","tags":[],"description":"","content":" arista/alert.v1/alert.proto\nAlert\nAlertConfig\nAzureOAuth\nBroadcastGroup\nBroadcastGroups\nBroadcastGroups.ValuesEntry\nConfigError\nConfigErrors\nCueData\nCueData.ValuesEntry\nCueSNMPAuth\nCueSNMPEndpoint\nCueSNMPSettings\nCueSendgridEndpoint\nCueSendgridEndpoints\nCueSendgridSettings\nCueSnmpEndpoints\nCueSyslogEndpoint\nCueSyslogEndpoints\nCueSyslogSettings\nDefaultTemplate\nEmailEndpoint\nEmailEndpoints\nEmailSettings\nEndpointError\nEndpointErrors\nEventList\nGoogleChatEndpoint\nGoogleChatEndpoints\nGoogleChatSettings\nHeaderValues\nHttpHeaders\nHttpHeaders.ValuesEntry\nHttpSettings\nInhibitionSettings\nInhibitionSettings.ValuesEntry\nMatches\nMsTeamsEndpoint\nMsTeamsEndpoints\nMsTeamsSettings\nOpsgenieEndpoint\nOpsgenieEndpoints\nOpsgenieSettings\nPagerdutyEndpoint\nPagerdutyEndpoints\nPagerdutySettings\nPriorities\nPushoverEndpoint\nPushoverEndpoints\nRule\nRules\nSNMPAuth\nSNMPEndpoint\nSNMPEndpoints\nSNMPSettings\nSendgridEndpoint\nSendgridEndpoints\nSendgridSettings\nSettings\nSlackEndpoint\nSlackEndpoints\nSlackSettings\nSyslogEndpoint\nSyslogEndpoints\nSyslogSettings\nTemplateConfig\nTemplateKey\nVictorOpsEndpoint\nVictorOpsEndpoints\nVictoropsSettings\nWebhookEndpoint\nWebhookEndpoints\nWebhookSettings\nZoomEndpoint\nZoomEndpoints\nZoomSettings\nConfigErrorType\nCueSNMPAuthProtocol\nCueSNMPPrivProtocol\nCueSyslogMessageFormat\nEndpointErrorType\nSNMPAuthProtocol\nSNMPPrivProtocol\nSNMPSecurityLevel\nTemplateOutput\nTemplateType\narista/alert.v1/services.gen.proto\nAlertConfigRequest\nAlertConfigResponse\nAlertConfigSetRequest\nAlertConfigSetResponse\nAlertConfigStreamRequest\nAlertConfigStreamResponse\nAlertRequest\nAlertResponse\nAlertStreamRequest\nAlertStreamResponse\nDefaultTemplateBatchedStreamRequest\nDefaultTemplateBatchedStreamResponse\nDefaultTemplateRequest\nDefaultTemplateResponse\nDefaultTemplateSomeRequest\nDefaultTemplateSomeResponse\nDefaultTemplateStreamRequest\nDefaultTemplateStreamResponse\nMetaResponse\nTemplateConfigBatchedStreamRequest\nTemplateConfigBatchedStreamResponse\nTemplateConfigDeleteAllRequest\nTemplateConfigDeleteAllResponse\nTemplateConfigDeleteRequest\nTemplateConfigDeleteResponse\nTemplateConfigDeleteSomeRequest\nTemplateConfigDeleteSomeResponse\nTemplateConfigRequest\nTemplateConfigResponse\nTemplateConfigSetRequest\nTemplateConfigSetResponse\nTemplateConfigSetSomeRequest\nTemplateConfigSetSomeResponse\nTemplateConfigSomeRequest\nTemplateConfigSomeResponse\nTemplateConfigStreamRequest\nTemplateConfigStreamResponse\nAlertConfigService\nAlertService\nDefaultTemplateService\nTemplateConfigService\nTop\narista/alert.v1/alert.proto Alert Alert is the current status of the alert system\nField Name Type Description configuration_errors ConfigErrors configuration_errors contain any configuration errors reported by the backend\nendpoint_errors EndpointErrors endpoint_errors contain any failed attempts to send alerts\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the configuration was last modified\nlast_modified_by google.protobuf.StringValue last_modified_by is the user who last modified the configuration\nAlertConfig AlertConfig is the configuration for sending alerts\nField Name Type Description settings Settings settings is the global default settings for various endpoints used in broadcast groups.\nCan be overwritten in individual endpoint settings\nrules Rules rules define how we route alerts to broadcast groups\nbroadcast_groups BroadcastGroups broadcast_groups are groups of endpoints that alerts are sent to\nAzureOAuth AzureOAuth contains the settings for the sending of emails on Azure smtp server\nField Name Type Description client_id google.protobuf.StringValue client_id of the Azure environment\ntenant_id google.protobuf.StringValue tenant_id of the Azure environment\nclient_secret google.protobuf.StringValue client_secret is a user generated secret key used for auth\nauth_uri google.protobuf.StringValue auth_uri is the URI used for OAuth\nthis should always be https://login.microsoftonline.com/ unless using a very custom\nset up, where the Azure enviroment is not running on microsoft servers\nscopes fmp.RepeatedString scopes are the scopes that auth is granted for\nBroadcastGroup BroadcastGroup is a series of endpoints that alerts are sent to if routed there by a rule No restriction on the number of types of endpoints that can be defined\nField Name Type Description email EmailEndpoints email is a set of email endpoints to send alerts to as part of this group\nwebhook WebhookEndpoints webhook is a set of webhook endpoints to send alerts to as part of this group\nslack SlackEndpoints slack is a set of slack endpoints to send alerts to as part of this group\nopsgenie OpsgenieEndpoints opsgenie is a set of opsgenie endpoints to send alerts to as part of this group\npushover PushoverEndpoints pushover is a set of pushover endpoints to send alerts to as part of this group\npagerduty PagerdutyEndpoints pagerduty is a set of pagerduty endpoints to send alerts to as part of this group\nvictorops VictorOpsEndpoints victorops is a set of victorops endpoints to send alerts to as part of this group\ngchat GoogleChatEndpoints gchat is a set of google chat endpoints to send alerts to as part of this group\nmsteams MsTeamsEndpoints msteams is a set of MS teams endpoints to send alerts to as part of this group\nsendgrid SendgridEndpoints sendgrid is a set of sendgrid endpoints to send alerts to as part of this group\nsyslog SyslogEndpoints syslog is a set of syslog endpoints to send alerts to as part of this group\nsnmp SNMPEndpoints snmp is a set of snmp endpoints to send alerts to as part of this group\ncue_syslog CueSyslogEndpoints cue_syslog is a set of cue syslog endpoints to send alerts to as part of this group\ncue_snmp CueSnmpEndpoints cue_snmp is a set of cue snmp endpoints to send alerts to as part of this group\ncue_sendgrid CueSendgridEndpoints cue_sendgrid is a set of cue sendgrid endpoints to send alerts to as part of this group\nzoom ZoomEndpoints zoom is a set of zoom endpoints to send alerts to as part of this group\nBroadcastGroups BroadcastGroups is a collection of named broadcast groups\nField Name Type Description values BroadcastGroups.ValuesEntry[\u0026hellip;] values is a map of user defined ids to broadcast groups. No restrictions to naming applies\nBroadcastGroups.ValuesEntry Field Name Type Description key string value BroadcastGroup ConfigError ConfigError is an error caused by an invalid config being rejected by the backend\nField Name Type Description path google.protobuf.StringValue path is the \u0026lsquo;path\u0026rsquo; to the invalid config element,\neg: path.userPathName.email_configs[1].to =\nthe \u0026rsquo;to\u0026rsquo; field of the second email config of the \u0026lsquo;userPathName\u0026rsquo; broadcast_group\nerror_type ConfigErrorType error_type is the type of error, this allows custom handling of different error types\nerror google.protobuf.StringValue error is a user-friendly error message\nConfigErrors ConfigErrors is a list of configuration-related errors\nField Name Type Description values ConfigError[\u0026hellip;] values is a list of errors\nCueData CueData contains additional cue-specific data\nField Name Type Description values CueData.ValuesEntry[\u0026hellip;] values can contain some additional data which is required by the cue specific provider\nCueData.ValuesEntry Field Name Type Description key string value string CueSNMPAuth CueSNMPAuth is the authentication\nField Name Type Description community google.protobuf.StringValue community is the community string used for authentication in SNMPv1 and v2c\nrequired if version \u0026lt; 3\nusername google.protobuf.StringValue username the username for SNMPv3 auth\nsecurity_level SNMPSecurityLevel security_level the security level for SNMPv3\nauthentication_protocol CueSNMPAuthProtocol authentication_protocol is the protocol to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nauthentication_passphrase google.protobuf.StringValue authentication_passphrase is the passphrase to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nprivacy_protocol CueSNMPPrivProtocol privacy_protocol is the protocol to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nprivacy_passphrase google.protobuf.StringValue privacy_passphrase is the passphrase to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nCueSNMPEndpoint CueSNMPEndpoint contains the required information for an alert to be sent to a cue SNMP endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override CueSNMPSettings settings_override is the override for the cue snmp global endpoint settings\nCueSNMPSettings CueSNMPSettings contain the settings for sending cue alerts with SNMP\nField Name Type Description target google.protobuf.StringValue target is an ipv4 address to send messages to\nport google.protobuf.Int32Value port is the network port to target\ntransport google.protobuf.StringValue transport is the transport protocol to use (\u0026ldquo;udp\u0026rdquo; or \u0026ldquo;tcp\u0026rdquo;); if unset \u0026ldquo;udp\u0026rdquo; will be used\nversion google.protobuf.Int32Value version is the SNMP version, v2c and v3 are supported and can be set with 2 and 3 respectively\nauth CueSNMPAuth auth is the optional authentication settings\ndata CueData data is additional data that maybe required for constructing the message or sending it\nCueSendgridEndpoint CueSendgridEndpoint contains the required information for an alert to be sent to a cue sendgrid endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nto google.protobuf.StringValue to address to send email to\nhttp_override HttpSettings http_override is the override of the global http settings\nThis overrides the value used in Settings message in the global alert config\nCueSendgridEndpoints CueSendgridEndpoints is a set of cue sendgrid endpoints\nField Name Type Description values CueSendgridEndpoint[\u0026hellip;] values are the elements of the set\nCueSendgridSettings CueSendgridSettings contain the settings for sending cue alerts to sendgrid\nField Name Type Description api_key google.protobuf.StringValue api_key is the key used to connect to the sendgrid APIs\nfrom google.protobuf.StringValue from is the sender\u0026rsquo;s address in the email sent\nCueSnmpEndpoints CueSnmpEndpoints is a set of cue SNMP endpoints\nField Name Type Description values CueSNMPEndpoint[\u0026hellip;] values are the elements of the set\nCueSyslogEndpoint CueSyslogEndpoint contains the required information for an alert to be sent to a cue syslog endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override CueSyslogSettings settings_override is the override for the cue syslog global endpoint settings\nCueSyslogEndpoints CueSyslogEndpoints is a set of cue syslog endpoints\nField Name Type Description values CueSyslogEndpoint[\u0026hellip;] values are the elements of the set\nCueSyslogSettings CueSyslogSettings contain the settings for sending alerts with syslog for cue\nField Name Type Description network google.protobuf.StringValue network is the network protocol to use, default is \u0026ldquo;udp\u0026rdquo;,\noptions also include: tcp,tcp4,tcp6,udp4,udp6\naddress google.protobuf.StringValue address is the ip address to send syslog messages to\nport google.protobuf.Int32Value port is server\u0026rsquo;s port to connect to\nmessage_format CueSyslogMessageFormat message_format defines the message format to use\nappend_bom_header google.protobuf.BoolValue append_bom_header if true a BOM( Byte Order Mark ) will be appended to the outgoing message\nBOM will tell the server that is receiving the messages, that the format is UTF8.\ndata CueData data is additional data that maybe required for constructing the message or sending it\nDefaultTemplate DefaultTemplate is the system default template which is used when no user template has been set\nField Name Type Description key TemplateKey key identifies which template the configuration is for\ntemplate google.protobuf.StringValue template is the string template value to be used\nTemplates need to be compatible with their respective parsers\nMessage templates are read and parsed by https://golang.org/pkg/text/template/\nHtml templates are read and parsed by https://golang.org/pkg/html/template/\nTemplates must output valid JSON for certain templates\nTemplates must not fail for any valid input\nmulti_alert google.protobuf.BoolValue multi_alert is true if this template uses a multiple alert context and false if a single\nalert context is used.\ndescription google.protobuf.StringValue description is a description of the template.\nexternal_documentation google.protobuf.StringValue external_documentation is a url to any relevant external documentation, or \u0026quot;\u0026quot; if there is no\nrelevant documentation.\noutput_format TemplateOutput output_format is the expected output format of this template\nAny submitted template will be expected to output text with valid formatting for any input or\nmay fail validation.\ndisplay_name google.protobuf.StringValue display_name is the name that can be displayed to the user for this particular template type\nEmailEndpoint EmailEndpoint contains the required information for an alert to be sent to an email endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nto google.protobuf.StringValue to address to send email to\nEmail does not have a http override\nEmail does not have a settings override\nEmailEndpoints EmailEndpoints is a set of email endpoints\nField Name Type Description values EmailEndpoint[\u0026hellip;] values are the elements of the set\nEmailSettings EmailSettings contain the settings for the sending of emails\nField Name Type Description from google.protobuf.StringValue from is the email address to send from\nsmarthost google.protobuf.StringValue smarthost is the hostname and port of the SMTP server\nauth_username google.protobuf.StringValue auth_username the username to use when sending emails\nrequired for all auth methods\nauth_password google.protobuf.StringValue auth_password the password to use when sending emails\nrequire_tls google.protobuf.BoolValue require_tls always use TLS connections when sending emails\nsingle_alert_per_email google.protobuf.BoolValue single_alert_per_email configures the Alerter such that each alert generates a separate email\nnotification, the email will only have a single notification, the format will also be different\nazure_o_auth AzureOAuth azure_o_auth used for auth when using an Azure smtp server\nuses auth_username, scopes is not required as we use https://outlook.office365.com/.default\nEndpointError EndpointError is an error caused by a failure to send alert(s) for any reason\nField Name Type Description endpoint_type google.protobuf.StringValue endpoint_type indicates the type of endpoint which failed,\nor unknown if not endpoint-specific (eg: slack, opsgenie)\nbroadcast_group_name google.protobuf.StringValue broadcast_group_name is the name of the broadcast group which was being used,\nempty string if not group specific\nconfig_index google.protobuf.Int32Value config_index is the index of the config on the broadcast group or -1 if not applicable\neg: if there are two email config in one broadcast group, then the indices for each are 0 and 1\nnote that these are done per type, so only counting email/slack/\u0026hellip;\nerror_type EndpointErrorType error_type is the type of error, this allows custom handling of different error types\nerror google.protobuf.StringValue error is a user-friendly error message\nEndpointErrors EndpointErrors is a set of errors related to sending of alerts\nField Name Type Description values EndpointError[\u0026hellip;] values is the list of errors\nEventList EventList is a list of event types\nField Name Type Description event_types fmp.RepeatedString event_types contain the event types\nGoogleChatEndpoint GoogleChatEndpoint contains the required information for an alert to be sent to a google chat endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override GoogleChatSettings settings_override is the override for the google chat global endpoint settings\nGoogleChatEndpoints GoogleChatEndpoints is a set of googleChat endpoints\nField Name Type Description values GoogleChatEndpoint[\u0026hellip;] values are the elements of the set\nGoogleChatSettings GoogleChatSettings contain the settings for sending alerts to google chat\nField Name Type Description url google.protobuf.StringValue url is the url of the webhook to send alerts to\nHeaderValues HeaderValues is a set of values for this header\nField Name Type Description values string[\u0026hellip;] values is the header values\nHttpHeaders HttpHeaders is a set of http headers\nField Name Type Description values HttpHeaders.ValuesEntry[\u0026hellip;] values is a map of http header names to values\nHttpHeaders.ValuesEntry Field Name Type Description key string value HeaderValues HttpSettings HttpSettings are the settings to be used when sending various message over a http connection\nField Name Type Description username google.protobuf.StringValue username is the username to use when connecting to the http proxy\npassword google.protobuf.StringValue password is the password to use when connecting to the http proxy\nproxy_url google.protobuf.StringValue proxy_url is the url for the http proxy\ncustom_headers HttpHeaders custom_headers is custom http headers to be used along with the default headers\nInhibitionSettings InhibitionSettings allows certain event types to be suppressed while other event types are active\nField Name Type Description values InhibitionSettings.ValuesEntry[\u0026hellip;] values is a map where the keys are event type which when active will suppress any events with\nevent types in the related EventList\nInhibitionSettings.ValuesEntry Field Name Type Description key string value EventList Matches Matches is a set of restrictions that must be satisfied for a rule to be matched Empty fields are ignored for matching purposes. Condition contents are OR\u0026rsquo;d and then AND\u0026rsquo;d with the other criteria\nField Name Type Description severities fmp.RepeatedString severities is a list of severities to filter on,\nif an event does not have one of these severities, it will not match\nValid values are DEBUG, INFO, WARNING, ERROR and CRITICAL\ndevices fmp.RepeatedString devices is a list of device IDs to filter on,\nif an event does not belong to one of these devices, it will not match\nevent_types fmp.RepeatedString event_types is a list of event types to filter on,\nif an event does not have one of these event types, it will not match\ndevice_tags google.protobuf.StringValue device_tags is a string tag query that is used to match on the event\u0026rsquo;s device tags\nintf_tags google.protobuf.StringValue intf_tags is a string tag query that is used to match on the event\u0026rsquo;s interface tags\nrule_ids fmp.RepeatedString rule_ids is a list of rule IDs to filter on,\nif an event does not have one of these rule IDs, it will not match\nMsTeamsEndpoint MsTeamsEndpoint contains the required information for an alert to be sent to an ms teams endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override MsTeamsSettings settings_override is the override for the microsoft teams global endpoint settings\nMsTeamsEndpoints MsTeamsEndpoints is a set of ms teams endpoints\nField Name Type Description values MsTeamsEndpoint[\u0026hellip;] values are the elements of the set\nMsTeamsSettings MsTeamsSettings contain the settings for sending alerts to MS Teams\nField Name Type Description url google.protobuf.StringValue url is the url of the webhook to send alerts to\nOpsgenieEndpoint OpsgenieEndpoint contains the required information for an alert to be sent to an opsgenie endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override OpsgenieSettings settings_override is the override for the opsgenie global endpoint settings\nOpsgenieEndpoints OpsgenieEndpoints is a set of opsgenie endpoints\nField Name Type Description values OpsgenieEndpoint[\u0026hellip;] values are the elements of the set\nOpsgenieSettings OpsgenieSettings contain the settings for sending alerts to opsgenie\nField Name Type Description key google.protobuf.StringValue key is the API key to use when talking to the OpsGenie API\nurl google.protobuf.StringValue url is the url to use when sending alerts to opsgenie\nPagerdutyEndpoint PagerdutyEndpoint contains the required information for an alert to be sent to a pagerduty endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nrouting_key google.protobuf.StringValue routing_key is the routing key for sending pagerduty alerts\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override PagerdutySettings settings_override is the override for the pagerduty global endpoint settings\nPagerdutyEndpoints PagerdutyEndpoints is a set of pagerduty endpoints\nField Name Type Description values PagerdutyEndpoint[\u0026hellip;] values are the elements of the set\nPagerdutySettings PagerdutySettings contain the settings for sending alerts to pagerduty\nField Name Type Description url google.protobuf.StringValue url is the url to use when sending alerts to pagerduty\nPriorities Priorities is a mapping of CV event severities to syslog severities\nField Name Type Description critical google.protobuf.Int32Value critical priority, default = 2 (Critical)\nerror google.protobuf.Int32Value error priority, default = 3 (Error)\nwarn google.protobuf.Int32Value warn priority, default = 4 (Warning)\ninfo google.protobuf.Int32Value info priority, default = 6 (Informational)\nPushoverEndpoint PushoverEndpoint contains the required information for an alert to be sent to a pushover endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\ntoken google.protobuf.StringValue token is the user\u0026rsquo;s registered application\u0026rsquo;s API token, see https://pushover.net/apps\nuser_key google.protobuf.StringValue user_key is the user\u0026rsquo;s user key\nhttp_override HttpSettings http_override is the override of the global http settings\nPushover does not have a settings override\nPushoverEndpoints PushoverEndpoints is a set of pushover endpoints\nField Name Type Description values PushoverEndpoint[\u0026hellip;] values are the elements of the set\nRule Rule is a rule to send to a certain broadcast group\nField Name Type Description sends_to google.protobuf.StringValue sends_to is the name of the broadcast group top send matching alerts to\nmatch_criteria Matches match_criteria is the criteria that an alert must match to be sent to the broadcast group\ncontinue_checks google.protobuf.BoolValue continue_checks if true, causes alerts matching this rule\u0026rsquo;s criteria to continue\nchecking against other rules, allowing for additional matches. If false,\nalerts matching this rule will not proceed with checking\ncomment google.protobuf.StringValue comment is a comment to include that will be displayed in the alert\nsuppress_for google.protobuf.Duration suppress_for is a time duration that a rule will be debounced for after being called\nRules Rules is a list of rules which dictates which events generate alerts for which broadcast groups\nField Name Type Description values Rule[\u0026hellip;] values contains the rules\nSNMPAuth SNMPAuth contain authentication information for SNMP\nField Name Type Description community google.protobuf.StringValue community is the community string used for authentication in SNMPv1 and v2c\nrequired if version \u0026lt; 3\nusername google.protobuf.StringValue username the username for SNMPv3 auth\nsecurity_level SNMPSecurityLevel security_level the security level for SNMPv3\nauthentication_protocol SNMPAuthProtocol authentication_protocol is the protocol to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nauthentication_passphrase google.protobuf.StringValue authentication_passphrase is the passphrase to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nprivacy_protocol SNMPPrivProtocol privacy_protocol is the protocol to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nprivacy_passphrase google.protobuf.StringValue privacy_passphrase is the passphrase to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nSNMPEndpoint SNMPEndpoint contains the required information for an alert to be sent to an SNMP endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override SNMPSettings settings_override is the override for the microsoft teams global endpoint settings\nSNMPEndpoints SNMPEndpoints is a set of SNMP endpoints\nField Name Type Description values SNMPEndpoint[\u0026hellip;] values are the elements of the set\nSNMPSettings SNMPSettings contain the settings for sending alerts with SNMP\nField Name Type Description target google.protobuf.StringValue target is an ipv4 address to send messages to\nport google.protobuf.Int32Value port is the network port to target\ntransport google.protobuf.StringValue transport is the transport protocol to use (\u0026ldquo;udp\u0026rdquo; or \u0026ldquo;tcp\u0026rdquo;); if unset \u0026ldquo;udp\u0026rdquo; will be used\nversion google.protobuf.Int32Value version is the SNMP version, v1, v2c and v3 are supported and can be set\nwith 1, 2 and 3 respectively\nauth SNMPAuth auth is optional authentication settings\nengine_id google.protobuf.StringValue engine_id is the engine ID that will be used by the Alerter\nThis should be a hexadecimal string, colon separators between bytes will be accepted when\nwriting, but will be absent when reading\noptional: if excluded or left blank, this will be automatically generated\nSendgridEndpoint SendgridEndpoint contains the required information for an alert to be sent to a sendgrid endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nto google.protobuf.StringValue to address to send email to\nhttp_override HttpSettings http_override is the override of the global http settings\nSendgridEndpoints SendgridEndpoints is a set of sendgrid endpoints\nField Name Type Description values SendgridEndpoint[\u0026hellip;] values are the elements of the set\nSendgridSettings SendgridSettings contain the settings for sending emails via sendgrid\nField Name Type Description api_key google.protobuf.StringValue api_key is the api key to use\nfrom google.protobuf.StringValue from is the email address to send from\nSettings Settings portion of config, a list of default global settings used by broadcast groups\nField Name Type Description email EmailSettings email is the global default settings for email\nhttp HttpSettings http is the global default settings for http\nslack SlackSettings slack is the global default settings for slack\nvictorops VictoropsSettings victorops is the global default settings for victorops\npagerduty PagerdutySettings pagerduty is the global default settings for pagerduty\nopsgenie OpsgenieSettings opsgenie is the global default settings for opsgenie\ngchat GoogleChatSettings gchat is the global default settings for google chat\nmsteams MsTeamsSettings msteams is the global default settings for ms teams\ninhibition InhibitionSettings inhibition defines the inhibition rules for alerts, allowing events of certain types to be\nsuppressed while another event type is active\nbase_url google.protobuf.StringValue base_url is the root address of your CloudVision app. Used to generate links in notifications.\ntimezone google.protobuf.StringValue timezone is used for formatting event times in notifications. E.g. \u0026lsquo;UTC\u0026rsquo;, \u0026lsquo;US/Pacific\u0026rsquo;\nsyslog SyslogSettings syslog is the global default settings for syslog\nsnmp SNMPSettings snmp is the global default settings for snmp\nsendgrid SendgridSettings sendgrid is the global default settings for sendgrid\ncue_syslog CueSyslogSettings cue_syslog is the global default settings for cue syslog\ncue_snmp CueSNMPSettings cue_snmp is the global default settings for cue snmp\ncue_sendgrid CueSendgridSettings cue_sendgrid is the global default settings for cue sendgrid\nhide_tags google.protobuf.BoolValue hide_tags is used to by the alerting system to omit tags and other \u0026ldquo;superfluous\u0026rdquo;\nvalues from the notifications that are sent out by the system\nzoom ZoomSettings zoom is the global default settings for zoom\nwebhook WebhookSettings webhook is the auth settings for webhook\nSlackEndpoint SlackEndpoint contains the required information for an alert to be sent to a slack endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override SlackSettings settings_override is the override for the slack global endpoint settings\nSlackEndpoints SlackEndpoints is a set of slack endpoints\nField Name Type Description values SlackEndpoint[\u0026hellip;] values are the elements of the set\nSlackSettings SlackSettings contain the settings for sending alerts to slack\nField Name Type Description url google.protobuf.StringValue url is the url of the slack webhook to use\nSyslogEndpoint SyslogEndpoint contains the required information for an alert to be sent to a syslog endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override SyslogSettings settings_override is the override for the microsoft teams global endpoint settings\nSyslogEndpoints SyslogEndpoints is a set of syslog endpoints\nField Name Type Description values SyslogEndpoint[\u0026hellip;] values are the elements of the set\nSyslogSettings SyslogSettings contain the settings for sending alerts with syslog\nField Name Type Description network google.protobuf.StringValue network is the network protocol to use, default is \u0026ldquo;udp\u0026rdquo;,\noptions also include: tcp,tcp4,tcp6,udp4,udp6\naddress google.protobuf.StringValue address is the network address to send syslog messages to\nfacility google.protobuf.Int32Value facility is the syslog facility 0-23 inc. This is the syslog facility as defined in RFC-3164\npriorities Priorities priorities describes how CVP severity maps to syslog priority\npriority is a number between 0-7 inc. as defined in RFC-3164\ntag google.protobuf.StringValue tag is the syslog TAG as described in RFC-3164, it is the prefix to all syslog messages\nper_device google.protobuf.BoolValue per_device allows message to optionally be sent per device,\nif an event concerns two devices the behaviour is changed based on this option:\ntrue: two messages are sent, one for each device\nfalse: a single message is sent\nuse_tls google.protobuf.BoolValue use_tls determines if the connection to the server should be secured with TLS\nTemplateConfig TemplateConfig represents a template configuration\nField Name Type Description key TemplateKey key identifies which template the configuration is for\ntemplate google.protobuf.StringValue template is the string template value to be used\nTemplates need to be compatible with their respective parsers\nMessage templates are read and parsed by https://golang.org/pkg/text/template/\nHtml templates are read and parsed by https://golang.org/pkg/html/template/\nTemplates must output valid JSON for certain templates\nTemplates must not fail for any valid input\nTemplateKey TemplateKey is used to identify templates for event notifications\nField Name Type Description template_type TemplateType template_type is the enum value to match with the template\nVictorOpsEndpoint VictorOpsEndpoint contains the required information for an alert to be sent to a victorOps endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nrouting_key google.protobuf.StringValue routing_key is the PagerDuty integration key\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override VictoropsSettings settings_override is the override for the victorops global endpoint settings\nVictorOpsEndpoints VictorOpsEndpoints is a set of victorOps endpoints\nField Name Type Description values VictorOpsEndpoint[\u0026hellip;] values are the elements of the set\nVictoropsSettings VictoropsSettings contain the settings for sending alerts to victorops\nField Name Type Description key google.protobuf.StringValue key is the API key to use when talking to the VictorOps API\nurl google.protobuf.StringValue url is the victorops url to use (without integration or routing key\ndefault: https://alert.victorops.com/integrations/generic/20131114/alert/\nWebhookEndpoint WebhookEndpoint contains the required information for an alert to be sent to a webhook endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nurl google.protobuf.StringValue url is the url\nhttp_override HttpSettings http_override is the override of the global http settings\nsimple_output google.protobuf.BoolValue simple_output is a boolean flag to control the JSON structure of the webhook body.\nWhen false the output mimics the old alertmanager format.\nWhen true the output is a simple array of json objects which each represent an event.\nsingle_alert google.protobuf.BoolValue single_alert is a boolean flag that will cause an individual webhook message to be sent per\nalert when true.\nsettings_override WebhookSettings settings_override is the override for the webhook global endpoint settings\nWebhookEndpoints WebhookEndpoints is a set of webhook endpoints\nField Name Type Description values WebhookEndpoint[\u0026hellip;] values are the elements of the set\nWebhookSettings WebhookSettings contain the settings for sending alerts to a Webhook\nField Name Type Description azure_o_auth AzureOAuth azure_o_auth used for auth when using an Azure smtp server\nuses auth_username\nZoomEndpoint ZoomEndpoint contains the required information for an alert to be sent to a zoom endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override ZoomSettings settings_override is the override for the zoom global endpoint settings\nZoomEndpoints ZoomEndpoints is a set of zoom endpoints\nField Name Type Description values ZoomEndpoint[\u0026hellip;] values are the elements of the set\nZoomSettings ZoomSettings contain the settings for sending alerts to zoom\nField Name Type Description url google.protobuf.StringValue url is the zoom incoming webhook URL to send messages to\nverification_token google.protobuf.StringValue verification_token is the verification token to authenticate with\nConfigErrorType ConfigErrorType describes the set of possible config error types\nName Number Description CONFIG_ERROR_TYPE_UNSPECIFIED 0 CONFIG_ERROR_TYPE_UNSPECIFIED is the unspecified enum value\nCONFIG_ERROR_TYPE_INVALID_FORMAT 2 CONFIG_ERROR_TYPE_INVALID_FORMAT is caused by invalid format for value (eg: url)\nCONFIG_ERROR_TYPE_INVALID_SYNTAX 3 CONFIG_ERROR_TYPE_INVALID_SYNTAX is caused by invalid syntax for value (eg: regex)\nCONFIG_ERROR_TYPE_TEMPLATE_INVALID 4 CONFIG_ERROR_TYPE_TEMPLATE_INVALID is caused by failure to parse a template\nCONFIG_ERROR_TYPE_ILLEGAL_VALUE 5 CONFIG_ERROR_TYPE_ILLEGAL_VALUE is caused by a value outside of its bounds\nCONFIG_ERROR_TYPE_MISSING_REQUIRED 6 CONFIG_ERROR_TYPE_MISSING_REQUIRED is caused by a missing required attribute\nCONFIG_ERROR_TYPE_INVALID_TYPE 7 CONFIG_ERROR_TYPE_INVALID_TYPE is caused by the wrong type found in backing store\nCueSNMPAuthProtocol CueSNMPAuthProtocol represents the authentication protocol to be used\nName Number Description CUE_SNMP_AUTH_PROTOCOL_UNSPECIFIED 0 CUE_SNMP_AUTH_PROTOCOL_UNSPECIFIED is the unspecified enum value\nCUE_SNMP_AUTH_PROTOCOL_MD5 1 CUE_SNMP_AUTH_PROTOCOL_MD5 use the md5 protocol\nCUE_SNMP_AUTH_PROTOCOL_SHA 2 CUE_SNMP_AUTH_PROTOCOL_SHA use the sha protocol\nCueSNMPPrivProtocol CueSNMPPrivProtocol represents the privacy protocol to be used\nName Number Description CUE_SNMP_PRIV_PROTOCOL_UNSPECIFIED 0 CUE_SNMP_PRIV_PROTOCOL_UNSPECIFIED is the unspecified enum value\nCUE_SNMP_PRIV_PROTOCOL_DES 1 CUE_SNMP_PRIV_PROTOCOL_DES use the des protocol\nCUE_SNMP_PRIV_PROTOCOL_AES 2 CUE_SNMP_PRIV_PROTOCOL_AES use the aes protocol\nCueSyslogMessageFormat CueSyslogMessageFormat is the message format for cue syslog messages\nName Number Description CUE_SYSLOG_MESSAGE_FORMAT_UNSPECIFIED 0 CUE_SYSLOG_MESSAGE_FORMAT_UNSPECIFIED is the unspecified enum value\nCUE_SYSLOG_MESSAGE_FORMAT_PLAIN 1 CUE_SYSLOG_MESSAGE_FORMAT_PLAIN format uses the text format for constructing the syslog message\nCUE_SYSLOG_MESSAGE_FORMAT_IDMEF 2 CUE_SYSLOG_MESSAGE_FORMAT_IDMEF uses IDMEF message format as described here:\nhttps://datatracker.ietf.org/doc/html/rfc4765\nEndpointErrorType EndpointErrorType describe the set of possible endpoint types\nName Number Description ENDPOINT_ERROR_TYPE_UNSPECIFIED 0 ENDPOINT_ERROR_TYPE_UNSPECIFIED is the unspecified enum value\nENDPOINT_ERROR_TYPE_HTTP_POST_ERROR 1 ENDPOINT_ERROR_TYPE_HTTP_POST_ERROR an error in sending HTTP request or reading a HTTP\nresponse\nENDPOINT_ERROR_TYPE_JSON_MARSHAL_ERROR 2 ENDPOINT_ERROR_TYPE_JSON_MARSHAL_ERROR is caused by errors while encoding json\nENDPOINT_ERROR_TYPE_INVALID_CONFIG_ERROR 3 ENDPOINT_ERROR_TYPE_INVALID_CONFIG_ERROR is an error caused by invalid config (missing,\nbad format, etc)\nENDPOINT_ERROR_TYPE_TEMPLATE_ERROR 4 ENDPOINT_ERROR_TYPE_TEMPLATE_ERROR is caused by errors while executing templates\nENDPOINT_ERROR_TYPE_BAD_RESPONSE_ERROR 5 ENDPOINT_ERROR_TYPE_BAD_RESPONSE_ERROR is caused by receiving a negative response from an\nendpoint indicating that the alert was not sent\nENDPOINT_ERROR_TYPE_SMTP_ERROR 6 ENDPOINT_ERROR_TYPE_SMTP_ERROR is caused by errors with SMTP\nENDPOINT_ERROR_TYPE_CONNECTION_ERROR 7 ENDPOINT_ERROR_TYPE_CONNECTION_ERROR is caused by errors with a connection\nENDPOINT_ERROR_TYPE_TIMEOUT_ERROR 8 ENDPOINT_ERROR_TYPE_TIMEOUT_ERROR is caused by errors with a connection\nENDPOINT_ERROR_TYPE_RATE_LIMIT_ERROR 9 ENDPOINT_ERROR_TYPE_RATE_LIMIT_ERROR is caused by an Alerter rate limit being exceeded\nENDPOINT_ERROR_TYPE_ALERT_CAP_ERROR 10 ENDPOINT_ERROR_TYPE_ALERT_CAP_ERROR is caused by the number of alerts sent to a sender\nexceeding the built-in limit\nENDPOINT_ERROR_TYPE_O_AUTH_ERROR 11 ENDPOINT_ERROR_TYPE_O_AUTH_ERROR is caused when we failed authenticating using the\nOAuth apis\nSNMPAuthProtocol SNMPAuthProtocol represents the authentication protocol to be used\nName Number Description SNMP_AUTH_PROTOCOL_UNSPECIFIED 0 SNMP_AUTH_PROTOCOL_UNSPECIFIED is the unspecified enum value\nSNMP_AUTH_PROTOCOL_MD5 1 SNMP_AUTH_PROTOCOL_MD5 use the md5 protocol\nSNMP_AUTH_PROTOCOL_SHA 2 SNMP_AUTH_PROTOCOL_SHA use the sha protocol\nSNMP_AUTH_PROTOCOL_SHA_224 3 SNMP_AUTH_PROTOCOL_SHA_224 use the sha224 protocol\nSNMP_AUTH_PROTOCOL_SHA_256 4 SNMP_AUTH_PROTOCOL_SHA_256 use the sha256 protocol\nSNMP_AUTH_PROTOCOL_SHA_384 5 SNMP_AUTH_PROTOCOL_SHA_384 use the sha384 protocol\nSNMP_AUTH_PROTOCOL_SHA_512 6 SNMP_AUTH_PROTOCOL_SHA_512 use the sha512 protocol\nSNMPPrivProtocol SNMPPrivProtocol represents the privacy protocol to be used\nName Number Description SNMP_PRIV_PROTOCOL_UNSPECIFIED 0 SNMP_PRIV_PROTOCOL_UNSPECIFIED is the unspecified enum value\nSNMP_PRIV_PROTOCOL_DES 1 SNMP_PRIV_PROTOCOL_DES use the des protocol\nSNMP_PRIV_PROTOCOL_AES 2 SNMP_PRIV_PROTOCOL_AES use the aes protocol\nSNMP_PRIV_PROTOCOL_AES_192 3 SNMP_PRIV_PROTOCOL_AES_192 use the aes192 protocol\nSNMP_PRIV_PROTOCOL_AES_256 4 SNMP_PRIV_PROTOCOL_AES_256 use the aes256 protocol\nSNMP_PRIV_PROTOCOL_AES_192C 5 SNMP_PRIV_PROTOCOL_AES_192C use the aes192c protocol\nSNMP_PRIV_PROTOCOL_AES_256C 6 SNMP_PRIV_PROTOCOL_AES_256C use the aes256c protocol\nSNMPSecurityLevel SNMPSecurityLevel indicates what level of security should be used\nName Number Description SNMP_SECURITY_LEVEL_UNSPECIFIED 0 SNMP_SECURITY_LEVEL_UNSPECIFIED is the unspecified enum value\nSNMP_SECURITY_LEVEL_NO_AUTH_NO_PRIV 1 SNMP_SECURITY_LEVEL_NO_AUTH_NO_PRIV use no security\nSNMP_SECURITY_LEVEL_AUTH_NO_PRIV 2 SNMP_SECURITY_LEVEL_AUTH_NO_PRIV use authentication without privacy\nSNMP_SECURITY_LEVEL_AUTH_PRIV 3 SNMP_SECURITY_LEVEL_AUTH_PRIV use both authentication and privacy\nTemplateOutput TemplateOutput is an enum of all of the possible output formats for templates\nName Number Description TEMPLATE_OUTPUT_UNSPECIFIED 0 TEMPLATE_OUTPUT_UNSPECIFIED is the unspecfied value.\nTEMPLATE_OUTPUT_TEXT 1 TEMPLATE_OUTPUT_TEXT indicates the the template outputs plain text.\nTEMPLATE_OUTPUT_JSON 2 TEMPLATE_OUTPUT_JSON indicates the the template outputs JSON.\nTEMPLATE_OUTPUT_HTML 3 TEMPLATE_OUTPUT_HTML indicates the the template outputs HTML.\nThis also indicates that \u0026ldquo;html/templates\u0026rdquo; will be used instead of \u0026ldquo;text/templates\u0026rdquo; so that\nhtml characters are automatically escaped from input.\nTemplateType TemplateType describes the types of Templates that are usable\nName Number Description TEMPLATE_TYPE_UNSPECIFIED 0 TEMPLATE_TYPE_UNSPECIFIED is the unspecified enum value\nTEMPLATE_TYPE_EMAIL_HTML 1 TEMPLATE_TYPE_EMAIL_HTML is the key of the html template for sent emails\nTEMPLATE_TYPE_EMAIL_TEXT 2 TEMPLATE_TYPE_EMAIL_TEXT is the key of the text template for sent emails\nTEMPLATE_TYPE_SLACK_MESSAGE 3 TEMPLATE_TYPE_SLACK_MESSAGE is the key of the message template for sent slack messages\nTEMPLATE_TYPE_PUSHOVER_MESSAGE 4 TEMPLATE_TYPE_PUSHOVER_MESSAGE is the key of the message template for sent pushover messages\nTEMPLATE_TYPE_PAGERDUTY_SUMMARY 5 TEMPLATE_TYPE_PAGERDUTY_SUMMARY is the key of the summary template for sent pagerduty messages\nTEMPLATE_TYPE_VICTOROPS_DISPLAY_NAME 6 TEMPLATE_TYPE_VICTOROPS_DISPLAY_NAME is the key of the display name template for sent victorops\nmessages\nTEMPLATE_TYPE_VICTOROPS_STATE_MESSAGE 7 TEMPLATE_TYPE_VICTOROPS_STATE_MESSAGE is the key of the state message template for sent\nvictorops messages\nTEMPLATE_TYPE_GOOGLE_CHAT_MESSAGE 8 TEMPLATE_TYPE_GOOGLE_CHAT_MESSAGE is the key of the message template for sent Google chat\nmessages\nTEMPLATE_TYPE_MICROSOFT_TEAMS_MESSAGE 9 TEMPLATE_TYPE_MICROSOFT_TEAMS_MESSAGE is the key of the message template for sent Microsoft\nteams messages\nTEMPLATE_TYPE_EMAIL_SUBJECT 10 TEMPLATE_TYPE_EMAIL_SUBJECT is the key of the subject line template of a sent email\nTEMPLATE_TYPE_SYSLOG_MESSAGE 11 TEMPLATE_TYPE_SYSLOG_MESSAGE is the key of the message template for a syslog message part\nTEMPLATE_TYPE_OPSGENIE_MESSAGE 12 TEMPLATE_TYPE_OPSGENIE_MESSAGE is the key of the message template for a opsgenie alert\nTEMPLATE_TYPE_ZOOM_MESSAGE 13 TEMPLATE_TYPE_ZOOM_MESSAGE is the key of the message template for sent Zoom messages\nTEMPLATE_TYPE_EMAIL_SINGLE_HTML 14 TEMPLATE_TYPE_EMAIL_SINGLE_HTML is the key of the html template for sent emails when the\nsingle alert per email option is selected\nTEMPLATE_TYPE_EMAIL_SINGLE_TEXT 15 TEMPLATE_TYPE_EMAIL_SINGLE_TEXT is the key of the text template for sent emails when the\nsingle alert per email option is selected\nTEMPLATE_TYPE_EMAIL_SINGLE_SUBJECT 16 TEMPLATE_TYPE_EMAIL_SINGLE_SUBJECT is the key of the subject line template of a sent email\nwhen the single alert per email option is selected\nTEMPLATE_TYPE_WEBHOOK_SINGLE 17 TEMPLATE_TYPE_WEBHOOK_SINGLE is the key of the template for webhook message body when the\nsingle_alert option is true\nTEMPLATE_TYPE_WEBHOOK_MULTIPLE 18 TEMPLATE_TYPE_WEBHOOK_MULTIPLE is the key of the template for webhook message body when the\nsingle_alert option is false\nTop\narista/alert.v1/services.gen.proto AlertConfigRequest Field Name Type Description time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAlertConfigResponse Field Name Type Description value AlertConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAlertConfig instance in this response.\nAlertConfigSetRequest Field Name Type Description value AlertConfig AlertConfig carries the value to set into the datastore.\nSee the documentation on the AlertConfig struct for which fields are required.\nAlertConfigSetResponse Field Name Type Description value AlertConfig Value carries all the values given in the AlertConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAlertConfigStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AlertConfig at end.\n* Each AlertConfig response is fully-specified (all fields set).\n* start: Returns the state of each AlertConfig at start, followed by updates until now.\n* Each AlertConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AlertConfig at start, followed by updates\nuntil end.\n* Each AlertConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAlertConfigStreamResponse Field Name Type Description value AlertConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AlertConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AlertConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAlertRequest Field Name Type Description time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAlertResponse Field Name Type Description value Alert Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAlert instance in this response.\nAlertStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Alert at end.\n* Each Alert response is fully-specified (all fields set).\n* start: Returns the state of each Alert at start, followed by updates until now.\n* Each Alert response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Alert at start, followed by updates\nuntil end.\n* Each Alert response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAlertStreamResponse Field Name Type Description value Alert Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Alert\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Alert value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDefaultTemplateBatchedStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DefaultTemplate at end.\n* Each DefaultTemplate response is fully-specified (all fields set).\n* start: Returns the state of each DefaultTemplate at start, followed by updates until now.\n* Each DefaultTemplate response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DefaultTemplate at start, followed by updates\nuntil end.\n* Each DefaultTemplate response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDefaultTemplateBatchedStreamResponse Field Name Type Description responses DefaultTemplateStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDefaultTemplateRequest Field Name Type Description key TemplateKey Key uniquely identifies a DefaultTemplate instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDefaultTemplateResponse Field Name Type Description value DefaultTemplate Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDefaultTemplate instance in this response.\nDefaultTemplateSomeRequest Field Name Type Description keys TemplateKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDefaultTemplateSomeResponse Field Name Type Description value DefaultTemplate Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DefaultTemplateStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DefaultTemplate at end.\n* Each DefaultTemplate response is fully-specified (all fields set).\n* start: Returns the state of each DefaultTemplate at start, followed by updates until now.\n* Each DefaultTemplate response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DefaultTemplate at start, followed by updates\nuntil end.\n* Each DefaultTemplate response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDefaultTemplateStreamResponse Field Name Type Description value DefaultTemplate Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DefaultTemplate\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DefaultTemplate value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nTemplateConfigBatchedStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TemplateConfig at end.\n* Each TemplateConfig response is fully-specified (all fields set).\n* start: Returns the state of each TemplateConfig at start, followed by updates until now.\n* Each TemplateConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TemplateConfig at start, followed by updates\nuntil end.\n* Each TemplateConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTemplateConfigBatchedStreamResponse Field Name Type Description responses TemplateConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTemplateConfigDeleteAllRequest TemplateConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TemplateKey This is the key of the TemplateConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTemplateConfigDeleteRequest Field Name Type Description key TemplateKey Key indicates which TemplateConfig instance to remove.\nThis field must always be set.\nTemplateConfigDeleteResponse Field Name Type Description key TemplateKey Key echoes back the key of the deleted TemplateConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTemplateConfigDeleteSomeRequest Field Name Type Description keys TemplateKey[\u0026hellip;] key contains a list of TemplateConfig keys to delete\nTemplateConfigDeleteSomeResponse TemplateConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TemplateKey error string TemplateConfigRequest Field Name Type Description key TemplateKey Key uniquely identifies a TemplateConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTemplateConfigResponse Field Name Type Description value TemplateConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTemplateConfig instance in this response.\nTemplateConfigSetRequest Field Name Type Description value TemplateConfig TemplateConfig carries the value to set into the datastore.\nSee the documentation on the TemplateConfig struct for which fields are required.\nTemplateConfigSetResponse Field Name Type Description value TemplateConfig Value carries all the values given in the TemplateConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTemplateConfigSetSomeRequest Field Name Type Description values TemplateConfig[\u0026hellip;] value contains a list of TemplateConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTemplateConfigSetSomeResponse Field Name Type Description key TemplateKey error string TemplateConfigSomeRequest Field Name Type Description keys TemplateKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTemplateConfigSomeResponse Field Name Type Description value TemplateConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TemplateConfigStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TemplateConfig at end.\n* Each TemplateConfig response is fully-specified (all fields set).\n* start: Returns the state of each TemplateConfig at start, followed by updates until now.\n* Each TemplateConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TemplateConfig at start, followed by updates\nuntil end.\n* Each TemplateConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTemplateConfigStreamResponse Field Name Type Description value TemplateConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TemplateConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TemplateConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAlertConfigService Method Name Request Type Response Type Description GetOne AlertConfigRequest AlertConfigResponse GetAll AlertConfigStreamRequest AlertConfigStreamResponse stream Subscribe AlertConfigStreamRequest AlertConfigStreamResponse stream SubscribeMeta AlertConfigStreamRequest MetaResponse stream Set AlertConfigSetRequest AlertConfigSetResponse AlertService Method Name Request Type Response Type Description GetOne AlertRequest AlertResponse GetAll AlertStreamRequest AlertStreamResponse stream Subscribe AlertStreamRequest AlertStreamResponse stream SubscribeMeta AlertStreamRequest MetaResponse stream DefaultTemplateService Method Name Request Type Response Type Description GetOne DefaultTemplateRequest DefaultTemplateResponse GetSome DefaultTemplateSomeRequest DefaultTemplateSomeResponse stream GetAll DefaultTemplateStreamRequest DefaultTemplateStreamResponse stream Subscribe DefaultTemplateStreamRequest DefaultTemplateStreamResponse stream GetMeta DefaultTemplateStreamRequest MetaResponse SubscribeMeta DefaultTemplateStreamRequest MetaResponse stream GetAllBatched DefaultTemplateBatchedStreamRequest DefaultTemplateBatchedStreamResponse stream SubscribeBatched DefaultTemplateBatchedStreamRequest DefaultTemplateBatchedStreamResponse stream TemplateConfigService Method Name Request Type Response Type Description GetOne TemplateConfigRequest TemplateConfigResponse GetSome TemplateConfigSomeRequest TemplateConfigSomeResponse stream GetAll TemplateConfigStreamRequest TemplateConfigStreamResponse stream Subscribe TemplateConfigStreamRequest TemplateConfigStreamResponse stream GetMeta TemplateConfigStreamRequest MetaResponse SubscribeMeta TemplateConfigStreamRequest MetaResponse stream Set TemplateConfigSetRequest TemplateConfigSetResponse SetSome TemplateConfigSetSomeRequest TemplateConfigSetSomeResponse stream Delete TemplateConfigDeleteRequest TemplateConfigDeleteResponse DeleteSome TemplateConfigDeleteSomeRequest TemplateConfigDeleteSomeResponse stream DeleteAll TemplateConfigDeleteAllRequest TemplateConfigDeleteAllResponse stream GetAllBatched TemplateConfigBatchedStreamRequest TemplateConfigBatchedStreamResponse stream SubscribeBatched TemplateConfigBatchedStreamRequest TemplateConfigBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/bugexposure.v1/","title":"bugexposure.v1","tags":[],"description":"","content":" arista/bugexposure.v1/bugexposure.proto\nBugExposure\nBugExposureKey\nAcknowledgement\nHighestExposure\narista/bugexposure.v1/services.gen.proto\nBugExposureRequest\nBugExposureResponse\nBugExposureStreamRequest\nBugExposureStreamResponse\nMetaResponse\nBugExposureService\nTop\narista/bugexposure.v1/bugexposure.proto BugExposure BugExposure is the state model that represents the exposure a device has to bugs\nField Name Type Description key BugExposureKey BugExposureKey is the key of\nBugExposure\nbug_ids fmp.RepeatedInt32 bug_ids is a list of bug alerts affecting the device\nwith type Bug\ncve_ids fmp.RepeatedInt32 cve_ids is a list of bug alerts affecting the device\nwith type CVE\nbug_count google.protobuf.Int32Value bug_count is the number of bug alerts\nwith type Bug\ncve_count google.protobuf.Int32Value cve_count is the number of bug alerts\nwith type CVE\nhighest_bug_exposure HighestExposure highest_bug_exposure is the highest exposure\nwith type Bug\nhighest_cve_exposure HighestExposure highest_cve_exposure is the highest exposure\nwith type CVE\nBugExposureKey BugExposureKey is the key type for BugExposure model\nField Name Type Description device_id google.protobuf.StringValue device_id is the device ID\nacknowledgement Acknowledgement acknowledgement is one of the options for\nAcknowledgement enum\nAcknowledgement Acknowledgement is an enumeration key for a BugExposure model that defines the acknowledgement state for the computed bugs\nName Number Description ACKNOWLEDGEMENT_UNSPECIFIED 0 Unacknowledged and acknowledged bugs will be computed\nACKNOWLEDGEMENT_UNACKNOWLEDGED 1 Only unacknowledged bugs will be computed\nACKNOWLEDGEMENT_ACKNOWLEDGED 2 Only acknowledged bugs will be computed\nHighestExposure HighestExposure is an enumeration that defines the options for highest exposure\nName Number Description HIGHEST_EXPOSURE_UNSPECIFIED 0 If not given this will be the default value\nand it will compute devices with\nany highest exposure\nHIGHEST_EXPOSURE_NONE 1 Not exposed to bugs\nHIGHEST_EXPOSURE_LOW 2 Highest exposure is to a low priority bug\nHIGHEST_EXPOSURE_HIGH 3 Highest exposure is to a high priority bug\nTop\narista/bugexposure.v1/services.gen.proto BugExposureRequest Field Name Type Description key BugExposureKey Key uniquely identifies a BugExposure instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nBugExposureResponse Field Name Type Description value BugExposure Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nBugExposure instance in this response.\nBugExposureStreamRequest Field Name Type Description partial_eq_filter BugExposure[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each BugExposure at end.\n* Each BugExposure response is fully-specified (all fields set).\n* start: Returns the state of each BugExposure at start, followed by updates until now.\n* Each BugExposure response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each BugExposure at start, followed by updates\nuntil end.\n* Each BugExposure response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nBugExposureStreamResponse Field Name Type Description value BugExposure Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this BugExposure\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the BugExposure value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nBugExposureService Method Name Request Type Response Type Description GetOne BugExposureRequest BugExposureResponse GetAll BugExposureStreamRequest BugExposureStreamResponse stream Subscribe BugExposureStreamRequest BugExposureStreamResponse stream GetMeta BugExposureStreamRequest MetaResponse SubscribeMeta BugExposureStreamRequest MetaResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/categories/","title":"Categories","tags":[],"description":"","content":""},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/changecontrol.v1/","title":"changecontrol.v1","tags":[],"description":"","content":" arista/changecontrol.v1/changecontrol.proto\nAction\nApproveConfig\nChange\nChangeConfig\nChangeControl\nChangeControlConfig\nChangeControlKey\nFilter\nFlag\nFlagConfig\nRepeatedRepeatedString\nStage\nStageConfig\nStageConfigMap\nStageConfigMap.ValuesEntry\nStageMap\nStageMap.ValuesEntry\nTimestampFlag\nTimestampFlagConfig\nChangeControlStatus\nStageStatus\narista/changecontrol.v1/services.gen.proto\nApproveConfigBatchedStreamRequest\nApproveConfigBatchedStreamResponse\nApproveConfigDeleteAllRequest\nApproveConfigDeleteAllResponse\nApproveConfigDeleteRequest\nApproveConfigDeleteResponse\nApproveConfigDeleteSomeRequest\nApproveConfigDeleteSomeResponse\nApproveConfigRequest\nApproveConfigResponse\nApproveConfigSetRequest\nApproveConfigSetResponse\nApproveConfigSetSomeRequest\nApproveConfigSetSomeResponse\nApproveConfigSomeRequest\nApproveConfigSomeResponse\nApproveConfigStreamRequest\nApproveConfigStreamResponse\nChangeControlBatchedStreamRequest\nChangeControlBatchedStreamResponse\nChangeControlConfigBatchedStreamRequest\nChangeControlConfigBatchedStreamResponse\nChangeControlConfigDeleteAllRequest\nChangeControlConfigDeleteAllResponse\nChangeControlConfigDeleteRequest\nChangeControlConfigDeleteResponse\nChangeControlConfigDeleteSomeRequest\nChangeControlConfigDeleteSomeResponse\nChangeControlConfigRequest\nChangeControlConfigResponse\nChangeControlConfigSetRequest\nChangeControlConfigSetResponse\nChangeControlConfigSetSomeRequest\nChangeControlConfigSetSomeResponse\nChangeControlConfigSomeRequest\nChangeControlConfigSomeResponse\nChangeControlConfigStreamRequest\nChangeControlConfigStreamResponse\nChangeControlRequest\nChangeControlResponse\nChangeControlSomeRequest\nChangeControlSomeResponse\nChangeControlStreamRequest\nChangeControlStreamResponse\nMetaResponse\nApproveConfigService\nChangeControlConfigService\nChangeControlService\nTop\narista/changecontrol.v1/changecontrol.proto Action Action is an action to perform during the execution of a stage of a change control. Available actions can be fetched using the \u0026ldquo;action\u0026rdquo; services.\nField Name Type Description name google.protobuf.StringValue name is the name of the action.\ntimeout google.protobuf.UInt32Value timeout is the maximum duration in seconds that\nthe action can execute before timing out. If this\nis not set, then this is interpreted to mean there\nis no timeout.\nargs fmp.MapStringString args are the arguments of the action.\nApproveConfig ApproveConfig is used to configure the approval of a change control.\nField Name Type Description key ChangeControlKey key uniquely identifies the change control.\napprove FlagConfig approve is the flag to approve (approve.value set to true)\nor unapprove (approve.value set to false) the change control.\nversion google.protobuf.Timestamp version is the timestamp of the change control to approve.\nThis field must be set when approve.value is set to true\nand is intended to safeguard against approving a change control\nthat has been updated since last read.\nChange Change holds the configuration and status of the change of a change control.\nField Name Type Description name google.protobuf.StringValue name is the name of the change.\nroot_stage_id google.protobuf.StringValue root_stage_id is the ID of the root stage or the stage that\nshould execute first.\nstages StageMap stages holds a configuration of stages and their statuses.\nnotes google.protobuf.StringValue notes are any notes associated with the change.\ntime google.protobuf.Timestamp time is the time at which the change was last updated.\nuser google.protobuf.StringValue user is the user by which the change was last updated.\nChangeConfig ChangeConfig holds a configuration for the change of a change control which is essentially a named configuration of stages.\nField Name Type Description name google.protobuf.StringValue name is the name of the change.\nroot_stage_id google.protobuf.StringValue root_stage_id is the ID of the root stage or the stage that\nshould execute first.\nstages StageConfigMap stages holds a configuration of stages. See StageConfigMap\ndescription for more information.\nnotes google.protobuf.StringValue notes are any notes associated with the change.\nChangeControl ChangeControl holds the configuration and status of a change control.\nField Name Type Description key ChangeControlKey key uniquely identifies the change control.\nchange Change change holds the configuration and status of the change of\nthe change control.\napprove Flag approve indicates whether the change control was flagged\nas approved (approve.value set to true) or unapproved\n(approve.value set to false).\nstart Flag start indicates whether the change control was flagged to\nstart (start.value set to true) or stop (start.value\nset to false) execution.\nstatus ChangeControlStatus status is the execution status of the change control.\nerror google.protobuf.StringValue error is any error that occurred during the execution of the\nchange control.\nschedule TimestampFlag schedule indicates whether the change control was flagged\nto be scheduled (schedule.value set to some timestamp) or\nunscheduled (schedule.value set to nil) for execution.\ndevice_ids fmp.RepeatedString device_ids is a list of device IDs on which the change control will operate.\nChangeControlConfig ChangeControlConfig holds the configuration of a change control.\nField Name Type Description key ChangeControlKey key uniquely identifies the change control.\nchange ChangeConfig change is the change subject to execution.\nstart FlagConfig start is the flag to start (start.value set to true)\nor stop (start.value set to false) execution of the\nchange control.\nschedule TimestampFlagConfig schedule is the flag to schedule (schedule.value set to\nsome timestamp) or unschedule (schedule.value set to\nnil) the change control for execution.\nChangeControlKey ChangeControlKey uniquely identifies a change control.\nField Name Type Description id google.protobuf.StringValue id is the ID of the change control.\nFilter Filter is used to filter changecontrols for requested device ids.\nField Name Type Description device_ids fmp.RepeatedString device_ids includes the list of device ids to be matched with devices\nin the changecontrol state model.\nAt least one of the provided device ids must be present in CC devices field.\nFlag Flag holds the configuration of a boolean flag plus some information about when and by whom it was set.\nField Name Type Description value google.protobuf.BoolValue value is the value of the flag (true or false).\nnotes google.protobuf.StringValue notes are any notes associated with the setting of the flag.\ntime google.protobuf.Timestamp time is the time at which the flag was last updated.\nuser google.protobuf.StringValue user is the user by which the flag was last updated.\nFlagConfig FlagConfig is used to set a flag on a change control that takes a boolean value (e.g. start/stop, approve/unapprove).\nField Name Type Description value google.protobuf.BoolValue value is the value of the flag (true or false).\nnotes google.protobuf.StringValue notes are any notes associated with the flag value.\nRepeatedRepeatedString RepeatedRepeatedString wraps a repeated fmp.RepeatedString to define a string matrix which is used to represent stage rows (see StageConfig).\nField Name Type Description values fmp.RepeatedString[\u0026hellip;] values is a list of fmp.RepeatedString.\nStage Stage holds the configuration and status of a stage.\nField Name Type Description name google.protobuf.StringValue name is the name of the stage.\naction Action action is the action to perform during the stage.\nrows RepeatedRepeatedString rows is a series of rows of parallel stages referenced\nby ID. See StageConfig.rows for more details.\nstatus StageStatus status is the execution status of the stage.\nerror google.protobuf.StringValue error is any error that occured during the execution\nof the stage.\nstart_time google.protobuf.Timestamp start_time is the time when status change to Running\nend_time google.protobuf.Timestamp end_time is the time when status change to Completed\nStageConfig StageConfig holds a configuration for a stage in a change control. Each stage generally defines either an action or a series of sub-stages.\nField Name Type Description name google.protobuf.StringValue name is the name of the stage.\naction Action action is the action to perform on stage execution.\nrows RepeatedRepeatedString rows is a series of rows of parallel stages referenced\nby ID. Each row is run one after the other and the\nstages within each row are run in parallel.\nFor example:\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[[\u0026quot;1a\u0026quot;, \u0026quot;1b\u0026quot;], [\u0026quot;2\u0026quot;]]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nThis configures stage 1a and stage 1b to run at the\nsame time, and then stage 2 once both of them have\ncompleted.\nStageConfigMap StageConfigMap wraps a map from stage ID to StageConfig. This defines the configuration and order of execution for the stages in a change control.\nFor example:\n{ \u0026#34;root\u0026#34;: { name: \u0026#34;root\u0026#34;, rows: [[\u0026#34;1-2\u0026#34;], [\u0026#34;3\u0026#34;]] }, \u0026#34;1-2\u0026#34;: { name: \u0026#34;stages 1-2\u0026#34;, rows: [[\u0026#34;1\u0026#34;], [\u0026#34;2\u0026#34;]] }, \u0026#34;1\u0026#34;: { name: \u0026#34;stage 1\u0026#34;, rows: [[\u0026#34;1a\u0026#34;, \u0026#34;1b\u0026#34;]] }, \u0026#34;1a\u0026#34;: { name: \u0026#34;stage 1a\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;101\u0026#34; } }, \u0026#34;1b\u0026#34;: { name: \u0026#34;stage 1b\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;102\u0026#34; } }, \u0026#34;2\u0026#34;: { name: \u0026#34;stage 2\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;103\u0026#34; } }, \u0026#34;3\u0026#34;: { name: \u0026#34;stage 3\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;104\u0026#34; } } } Assuming the root stage ID of the enclosing change control is \u0026ldquo;root\u0026rdquo;, this would mean to do the following in sequence:\nroot |- stages 1-2 | |- stage 1 | | |- stage 1a, stage 1b (parallel) | |- stage 2 |- stage 3 That is, execute tasks 101 and 102 in parallel, then task 103, then task 104.\nField Name Type Description values StageConfigMap.ValuesEntry[\u0026hellip;] values is a map from stage ID to StageConfig.\nStageConfigMap.ValuesEntry Field Name Type Description key string value StageConfig StageMap StageMap is a map from stage ID to Stage. This has essentially the same structure as StageConfigMap, but with each ID mapping to a Stage instead of StageConfig.\nField Name Type Description values StageMap.ValuesEntry[\u0026hellip;] values is a map from stage ID to Stage.\nStageMap.ValuesEntry Field Name Type Description key string value Stage TimestampFlag TimestampFlag holds the configuration of a timestamp flag plus some information about when and by whom is was set.\nField Name Type Description value google.protobuf.Timestamp value is the value of the flag (some timestamp).\nnotes google.protobuf.StringValue notes are any notes associated with the setting of the flag.\ntime google.protobuf.Timestamp time is the time at which the flag was last updated.\nuser google.protobuf.StringValue user is the user by which the flag was last updated.\nTimestampFlagConfig TimestampFlagConfig is used to set a flag on a change control that takes a timestamp value (e.g. schedule/unschedule).\nField Name Type Description value google.protobuf.Timestamp value is the value of the flag (some timestamp).\nnotes google.protobuf.StringValue notes are the notes associated with the flag value.\nChangeControlStatus ChangeControlStatus defines the possible execution statuses of a change control.\nName Number Description CHANGE_CONTROL_STATUS_UNSPECIFIED 0 CHANGE_CONTROL_STATUS_RUNNING 1 CHANGE_CONTROL_STATUS_RUNNING means the change control has begun\nexecution.\nCHANGE_CONTROL_STATUS_COMPLETED 2 CHANGE_CONTROL_STATUS_COMPLETED means the change control has ceased\nexecution. Success/failure of a change control cannot be inferred\nfrom this status alone but rather this status plus the change control\nerror. That is, no error implies success and some error implies failure.\nCHANGE_CONTROL_STATUS_SCHEDULED 3 CHANGE_CONTROL_STATUS_SCHEDULED means the change control has been\nscheduled for execution at some time. Any failure that occurs during\nthis process will cause a transition back to the unspecified status,\na reset of the schedule flag by the system, and an error on the change\ncontrol reporting the details of the failure.\nCHANGE_CONTROL_STATUS_NOT_STARTED 4 CHANGE_CONTROL_STATUS_NOT_STARTED means the change control has not been\nstarted. This would include approved and not approved change controls.\nStageStatus StageStatus defines the possible execution statuses of a stage.\nName Number Description STAGE_STATUS_UNSPECIFIED 0 STAGE_STATUS_RUNNING 1 STAGE_STATUS_RUNNING means the stage has begun execution.\nSTAGE_STATUS_COMPLETED 2 STAGE_STATUS_COMPLETED means the stage has ceased execution.\nSuccess/failure of a stage cannot be inferred from this status\nalone but rather this status plus the stage error. That is, no\nerror implies success and some error implies failure.\nSTAGE_STATUS_NOT_STARTED 3 STAGE_STATUS_NOT_STARTED means the stage has not been started.\nTop\narista/changecontrol.v1/services.gen.proto ApproveConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ApproveConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ApproveConfig at end.\n* Each ApproveConfig response is fully-specified (all fields set).\n* start: Returns the state of each ApproveConfig at start, followed by updates until now.\n* Each ApproveConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ApproveConfig at start, followed by updates\nuntil end.\n* Each ApproveConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nApproveConfigBatchedStreamResponse Field Name Type Description responses ApproveConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nApproveConfigDeleteAllRequest Field Name Type Description partial_eq_filter ApproveConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nApproveConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ChangeControlKey This is the key of the ApproveConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nApproveConfigDeleteRequest Field Name Type Description key ChangeControlKey Key indicates which ApproveConfig instance to remove.\nThis field must always be set.\nApproveConfigDeleteResponse Field Name Type Description key ChangeControlKey Key echoes back the key of the deleted ApproveConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nApproveConfigDeleteSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] key contains a list of ApproveConfig keys to delete\nApproveConfigDeleteSomeResponse ApproveConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ChangeControlKey error string ApproveConfigRequest Field Name Type Description key ChangeControlKey Key uniquely identifies a ApproveConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nApproveConfigResponse Field Name Type Description value ApproveConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nApproveConfig instance in this response.\nApproveConfigSetRequest Field Name Type Description value ApproveConfig ApproveConfig carries the value to set into the datastore.\nSee the documentation on the ApproveConfig struct for which fields are required.\nApproveConfigSetResponse Field Name Type Description value ApproveConfig Value carries all the values given in the ApproveConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nApproveConfigSetSomeRequest Field Name Type Description values ApproveConfig[\u0026hellip;] value contains a list of ApproveConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nApproveConfigSetSomeResponse Field Name Type Description key ChangeControlKey error string ApproveConfigSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nApproveConfigSomeResponse Field Name Type Description value ApproveConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ApproveConfigStreamRequest Field Name Type Description partial_eq_filter ApproveConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ApproveConfig at end.\n* Each ApproveConfig response is fully-specified (all fields set).\n* start: Returns the state of each ApproveConfig at start, followed by updates until now.\n* Each ApproveConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ApproveConfig at start, followed by updates\nuntil end.\n* Each ApproveConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nApproveConfigStreamResponse Field Name Type Description value ApproveConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ApproveConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ApproveConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nChangeControlBatchedStreamRequest Field Name Type Description partial_eq_filter ChangeControl[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ChangeControl in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ChangeControl is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControl at end.\n* Each ChangeControl response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControl at start, followed by updates until now.\n* Each ChangeControl response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControl at start, followed by updates\nuntil end.\n* Each ChangeControl response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nChangeControlBatchedStreamResponse Field Name Type Description responses ChangeControlStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nChangeControlConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ChangeControlConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControlConfig at end.\n* Each ChangeControlConfig response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControlConfig at start, followed by updates until now.\n* Each ChangeControlConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControlConfig at start, followed by updates\nuntil end.\n* Each ChangeControlConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nChangeControlConfigBatchedStreamResponse Field Name Type Description responses ChangeControlConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nChangeControlConfigDeleteAllRequest Field Name Type Description partial_eq_filter ChangeControlConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nChangeControlConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ChangeControlKey This is the key of the ChangeControlConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nChangeControlConfigDeleteRequest Field Name Type Description key ChangeControlKey Key indicates which ChangeControlConfig instance to remove.\nThis field must always be set.\nChangeControlConfigDeleteResponse Field Name Type Description key ChangeControlKey Key echoes back the key of the deleted ChangeControlConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nChangeControlConfigDeleteSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] key contains a list of ChangeControlConfig keys to delete\nChangeControlConfigDeleteSomeResponse ChangeControlConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ChangeControlKey error string ChangeControlConfigRequest Field Name Type Description key ChangeControlKey Key uniquely identifies a ChangeControlConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlConfigResponse Field Name Type Description value ChangeControlConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nChangeControlConfig instance in this response.\nChangeControlConfigSetRequest Field Name Type Description value ChangeControlConfig ChangeControlConfig carries the value to set into the datastore.\nSee the documentation on the ChangeControlConfig struct for which fields are required.\nChangeControlConfigSetResponse Field Name Type Description value ChangeControlConfig Value carries all the values given in the ChangeControlConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nChangeControlConfigSetSomeRequest Field Name Type Description values ChangeControlConfig[\u0026hellip;] value contains a list of ChangeControlConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nChangeControlConfigSetSomeResponse Field Name Type Description key ChangeControlKey error string ChangeControlConfigSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlConfigSomeResponse Field Name Type Description value ChangeControlConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ChangeControlConfigStreamRequest Field Name Type Description partial_eq_filter ChangeControlConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControlConfig at end.\n* Each ChangeControlConfig response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControlConfig at start, followed by updates until now.\n* Each ChangeControlConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControlConfig at start, followed by updates\nuntil end.\n* Each ChangeControlConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nChangeControlConfigStreamResponse Field Name Type Description value ChangeControlConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ChangeControlConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ChangeControlConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nChangeControlRequest Field Name Type Description key ChangeControlKey Key uniquely identifies a ChangeControl instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlResponse Field Name Type Description value ChangeControl Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nChangeControl instance in this response.\nChangeControlSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlSomeResponse Field Name Type Description value ChangeControl Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ChangeControlStreamRequest Field Name Type Description partial_eq_filter ChangeControl[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ChangeControl in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ChangeControl is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControl at end.\n* Each ChangeControl response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControl at start, followed by updates until now.\n* Each ChangeControl response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControl at start, followed by updates\nuntil end.\n* Each ChangeControl response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nChangeControlStreamResponse Field Name Type Description value ChangeControl Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ChangeControl\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ChangeControl value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nApproveConfigService Method Name Request Type Response Type Description GetOne ApproveConfigRequest ApproveConfigResponse GetSome ApproveConfigSomeRequest ApproveConfigSomeResponse stream GetAll ApproveConfigStreamRequest ApproveConfigStreamResponse stream Subscribe ApproveConfigStreamRequest ApproveConfigStreamResponse stream GetMeta ApproveConfigStreamRequest MetaResponse SubscribeMeta ApproveConfigStreamRequest MetaResponse stream Set ApproveConfigSetRequest ApproveConfigSetResponse SetSome ApproveConfigSetSomeRequest ApproveConfigSetSomeResponse stream Delete ApproveConfigDeleteRequest ApproveConfigDeleteResponse DeleteSome ApproveConfigDeleteSomeRequest ApproveConfigDeleteSomeResponse stream DeleteAll ApproveConfigDeleteAllRequest ApproveConfigDeleteAllResponse stream GetAllBatched ApproveConfigBatchedStreamRequest ApproveConfigBatchedStreamResponse stream SubscribeBatched ApproveConfigBatchedStreamRequest ApproveConfigBatchedStreamResponse stream ChangeControlConfigService Method Name Request Type Response Type Description GetOne ChangeControlConfigRequest ChangeControlConfigResponse GetSome ChangeControlConfigSomeRequest ChangeControlConfigSomeResponse stream GetAll ChangeControlConfigStreamRequest ChangeControlConfigStreamResponse stream Subscribe ChangeControlConfigStreamRequest ChangeControlConfigStreamResponse stream GetMeta ChangeControlConfigStreamRequest MetaResponse SubscribeMeta ChangeControlConfigStreamRequest MetaResponse stream Set ChangeControlConfigSetRequest ChangeControlConfigSetResponse SetSome ChangeControlConfigSetSomeRequest ChangeControlConfigSetSomeResponse stream Delete ChangeControlConfigDeleteRequest ChangeControlConfigDeleteResponse DeleteSome ChangeControlConfigDeleteSomeRequest ChangeControlConfigDeleteSomeResponse stream DeleteAll ChangeControlConfigDeleteAllRequest ChangeControlConfigDeleteAllResponse stream GetAllBatched ChangeControlConfigBatchedStreamRequest ChangeControlConfigBatchedStreamResponse stream SubscribeBatched ChangeControlConfigBatchedStreamRequest ChangeControlConfigBatchedStreamResponse stream ChangeControlService Method Name Request Type Response Type Description GetOne ChangeControlRequest ChangeControlResponse GetSome ChangeControlSomeRequest ChangeControlSomeResponse stream GetAll ChangeControlStreamRequest ChangeControlStreamResponse stream Subscribe ChangeControlStreamRequest ChangeControlStreamResponse stream GetMeta ChangeControlStreamRequest MetaResponse SubscribeMeta ChangeControlStreamRequest MetaResponse stream GetAllBatched ChangeControlBatchedStreamRequest ChangeControlBatchedStreamResponse stream SubscribeBatched ChangeControlBatchedStreamRequest ChangeControlBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/configlet.v1/","title":"configlet.v1","tags":[],"description":"","content":" arista/configlet.v1/configlet.proto\nConfiglet\nConfigletAssignment\nConfigletAssignmentConfig\nConfigletAssignmentKey\nConfigletConfig\nConfigletKey\nFilter\nMatchPolicy\narista/configlet.v1/services.gen.proto\nConfigletAssignmentBatchedStreamRequest\nConfigletAssignmentBatchedStreamResponse\nConfigletAssignmentConfigBatchedStreamRequest\nConfigletAssignmentConfigBatchedStreamResponse\nConfigletAssignmentConfigDeleteAllRequest\nConfigletAssignmentConfigDeleteAllResponse\nConfigletAssignmentConfigDeleteRequest\nConfigletAssignmentConfigDeleteResponse\nConfigletAssignmentConfigDeleteSomeRequest\nConfigletAssignmentConfigDeleteSomeResponse\nConfigletAssignmentConfigRequest\nConfigletAssignmentConfigResponse\nConfigletAssignmentConfigSetRequest\nConfigletAssignmentConfigSetResponse\nConfigletAssignmentConfigSetSomeRequest\nConfigletAssignmentConfigSetSomeResponse\nConfigletAssignmentConfigSomeRequest\nConfigletAssignmentConfigSomeResponse\nConfigletAssignmentConfigStreamRequest\nConfigletAssignmentConfigStreamResponse\nConfigletAssignmentRequest\nConfigletAssignmentResponse\nConfigletAssignmentSomeRequest\nConfigletAssignmentSomeResponse\nConfigletAssignmentStreamRequest\nConfigletAssignmentStreamResponse\nConfigletBatchedStreamRequest\nConfigletBatchedStreamResponse\nConfigletConfigBatchedStreamRequest\nConfigletConfigBatchedStreamResponse\nConfigletConfigDeleteAllRequest\nConfigletConfigDeleteAllResponse\nConfigletConfigDeleteRequest\nConfigletConfigDeleteResponse\nConfigletConfigDeleteSomeRequest\nConfigletConfigDeleteSomeResponse\nConfigletConfigRequest\nConfigletConfigResponse\nConfigletConfigSetRequest\nConfigletConfigSetResponse\nConfigletConfigSetSomeRequest\nConfigletConfigSetSomeResponse\nConfigletConfigSomeRequest\nConfigletConfigSomeResponse\nConfigletConfigStreamRequest\nConfigletConfigStreamResponse\nConfigletRequest\nConfigletResponse\nConfigletSomeRequest\nConfigletSomeResponse\nConfigletStreamRequest\nConfigletStreamResponse\nMetaResponse\nConfigletAssignmentConfigService\nConfigletAssignmentService\nConfigletConfigService\nConfigletService\nTop\narista/configlet.v1/configlet.proto Configlet Configlet is the state of a static configlet in a workspace or mainline. Subscribe and GetAll do not return the \u0026ldquo;body\u0026rdquo; Use GetOne to get the body of individual configlets\nField Name Type Description key ConfigletKey display_name google.protobuf.StringValue display_name is the display name of the static configlet.\ndescription google.protobuf.StringValue description is the description of the static configlet.\nmigrated_from google.protobuf.StringValue migrated_from is populated with the source configlet name when migrated\nfrom network provisioning to studio.\nbody google.protobuf.StringValue body is the static configlet body.\ncreated_at google.protobuf.Timestamp created_at is the time when the Configlet was created.\ncreated_by google.protobuf.StringValue created_by is the user who created the Configlet.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time when the Configlet was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the user who last modified the Configlet.\ndigest google.protobuf.StringValue digest is the sha256 hash of the configlet body encoded in hexadecimal.\nsize google.protobuf.Int64Value size of configlet body in bytes.\nConfigletAssignment ConfigletAssignment is the state of this assignment in a workspace/mainline\nField Name Type Description key ConfigletAssignmentKey display_name google.protobuf.StringValue description google.protobuf.StringValue configlet_ids fmp.RepeatedString configlet_ids is the list of configlets which are assigned\nquery google.protobuf.StringValue query represents the tag query assigned\nmatch_policy MatchPolicy match_policy is the discriminator for the query field\nchild_assignment_ids fmp.RepeatedString list of child assignments\ncreated_at google.protobuf.Timestamp created_at is the time when the ConfigletAssignment was created.\ncreated_by google.protobuf.StringValue created_by is the user who created the ConfigletAssignment.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time when the ConfigletAssignment\nwas last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the user who last modified the ConfigletAssignment.\nConfigletAssignmentConfig ConfigletAssignmentConfig are the the inputs to the static configlet studio. Each assignment assigns a list of configlets to the devices matching the tag query. Individual assignments can have a list of \u0026ldquo;child\u0026rdquo; assignments. The totality of these assignments form a list of tree hierarchies. Using the corresponding GUI workflow should help explain this structure. When traversing a tree and assigning static configlets to devices, the following rules are applied:\nTag queries at each level need to resolve to a subset of its parent\u0026rsquo;s queries. Devices resolved in child assignments but which do not resolve in that of its parent\u0026rsquo;s are skipped. Match policy determines how the assignment\u0026rsquo;s devices get divied up amongst its children. Field Name Type Description key ConfigletAssignmentKey display_name google.protobuf.StringValue description google.protobuf.StringValue configlet_ids fmp.RepeatedString configlet_ids is the list of configlets to be assigned\nquery google.protobuf.StringValue query is a tag query string that conforms to the CloudVision\ntag query language. E.g., the query, \u0026quot;datacenter:NYC,SFO AND\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;sflow:enabled\u0026quot;, matches all devices with sflow enabled in\ndata centers NYC and SFO.\nmalformed queries result in an error\ntags not matching devices are ignored\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the tag assignments involving the studio identified\nby the key if the encompassing workspace merges. Other data\nfields are not allowed if this field is set to true.\nmatch_policy MatchPolicy match_policy is the discriminator for the query field\nchild_assignment_ids fmp.RepeatedString list of child assignments\nConfigletAssignmentKey ConfigletAssignmentKey uniquely identifies a configlet assignment\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the unique identifier of the workspace.\nconfiglet_assignment_id google.protobuf.StringValue configlet_assignment_id is the unique identifier of the configlet_assignment.\nConfigletConfig ConfigletConfig updates a static configlet in a workspace.\nField Name Type Description key ConfigletKey remove google.protobuf.BoolValue remove specifies the static configlet is to be removed from the workspace.\nOther data fields are not allowed when this field is set to true.\ndisplay_name google.protobuf.StringValue display_name is the display name of the static configlet.\ndescription google.protobuf.StringValue description is the description of the static configlet.\nmigrated_from google.protobuf.StringValue migrated_from is populated with the source configlet name when migrated\nfrom network provisioning to studio.\nbody google.protobuf.StringValue body is the static configlet body.\nConfigletKey ConfigletKey uniquely identifies a static configlet.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id identifies the workspace within which the static configlet resides\nempty string (\u0026quot;\u0026quot;) stands for the \u0026ldquo;mainline\u0026rdquo;.\nconfiglet_id google.protobuf.StringValue configlet_id is the static configlet ID.\nFilter Filter is used to filter static configlets.\nField Name Type Description include_body google.protobuf.BoolValue include_body specifies the static configlet body is to be included.\nMatchPolicy MatchPolicy specifies how the tag query of a configlet assignment should be used to resolve devices for its children\nName Number Description MATCH_POLICY_UNSPECIFIED 0 MATCH_POLICY_MATCH_FIRST 1 MATCH_POLICY_MATCH_FIRST dictates that matching devices are used only for the first match amongst its children\nMATCH_POLICY_MATCH_ALL 2 MATCH_POLICY_MATCH_ALL dictates that matching devices are used across all children\nTop\narista/configlet.v1/services.gen.proto ConfigletAssignmentBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignment at end.\n* Each ConfigletAssignment response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignment at start, followed by updates until now.\n* Each ConfigletAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignment at start, followed by updates\nuntil end.\n* Each ConfigletAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletAssignmentBatchedStreamResponse Field Name Type Description responses ConfigletAssignmentStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletAssignmentConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignmentConfig at end.\n* Each ConfigletAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignmentConfig at start, followed by updates until now.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignmentConfig at start, followed by updates\nuntil end.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletAssignmentConfigBatchedStreamResponse Field Name Type Description responses ConfigletAssignmentConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletAssignmentConfigDeleteAllRequest Field Name Type Description partial_eq_filter ConfigletAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nConfigletAssignmentConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ConfigletAssignmentKey This is the key of the ConfigletAssignmentConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nConfigletAssignmentConfigDeleteRequest Field Name Type Description key ConfigletAssignmentKey Key indicates which ConfigletAssignmentConfig instance to remove.\nThis field must always be set.\nConfigletAssignmentConfigDeleteResponse Field Name Type Description key ConfigletAssignmentKey Key echoes back the key of the deleted ConfigletAssignmentConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nConfigletAssignmentConfigDeleteSomeRequest Field Name Type Description keys ConfigletAssignmentKey[\u0026hellip;] key contains a list of ConfigletAssignmentConfig keys to delete\nConfigletAssignmentConfigDeleteSomeResponse ConfigletAssignmentConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ConfigletAssignmentKey error string ConfigletAssignmentConfigRequest Field Name Type Description key ConfigletAssignmentKey Key uniquely identifies a ConfigletAssignmentConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentConfigResponse Field Name Type Description value ConfigletAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigletAssignmentConfig instance in this response.\nConfigletAssignmentConfigSetRequest Field Name Type Description value ConfigletAssignmentConfig ConfigletAssignmentConfig carries the value to set into the datastore.\nSee the documentation on the ConfigletAssignmentConfig struct for which fields are required.\nConfigletAssignmentConfigSetResponse Field Name Type Description value ConfigletAssignmentConfig Value carries all the values given in the ConfigletAssignmentConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nConfigletAssignmentConfigSetSomeRequest Field Name Type Description values ConfigletAssignmentConfig[\u0026hellip;] value contains a list of ConfigletAssignmentConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nConfigletAssignmentConfigSetSomeResponse Field Name Type Description key ConfigletAssignmentKey error string ConfigletAssignmentConfigSomeRequest Field Name Type Description keys ConfigletAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentConfigSomeResponse Field Name Type Description value ConfigletAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletAssignmentConfigStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignmentConfig at end.\n* Each ConfigletAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignmentConfig at start, followed by updates until now.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignmentConfig at start, followed by updates\nuntil end.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletAssignmentConfigStreamResponse Field Name Type Description value ConfigletAssignmentConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigletAssignmentConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigletAssignmentConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigletAssignmentRequest Field Name Type Description key ConfigletAssignmentKey Key uniquely identifies a ConfigletAssignment instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentResponse Field Name Type Description value ConfigletAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigletAssignment instance in this response.\nConfigletAssignmentSomeRequest Field Name Type Description keys ConfigletAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentSomeResponse Field Name Type Description value ConfigletAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletAssignmentStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignment at end.\n* Each ConfigletAssignment response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignment at start, followed by updates until now.\n* Each ConfigletAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignment at start, followed by updates\nuntil end.\n* Each ConfigletAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletAssignmentStreamResponse Field Name Type Description value ConfigletAssignment Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigletAssignment\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigletAssignment value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigletBatchedStreamRequest Field Name Type Description partial_eq_filter Configlet[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each Configlet in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Configlet is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configlet at end.\n* Each Configlet response is fully-specified (all fields set).\n* start: Returns the state of each Configlet at start, followed by updates until now.\n* Each Configlet response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configlet at start, followed by updates\nuntil end.\n* Each Configlet response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletBatchedStreamResponse Field Name Type Description responses ConfigletStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigletConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ConfigletConfig in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ConfigletConfig is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletConfig at end.\n* Each ConfigletConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletConfig at start, followed by updates until now.\n* Each ConfigletConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletConfig at start, followed by updates\nuntil end.\n* Each ConfigletConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletConfigBatchedStreamResponse Field Name Type Description responses ConfigletConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletConfigDeleteAllRequest Field Name Type Description partial_eq_filter ConfigletConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nfilter Filter For each ConfigletConfig in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ConfigletConfig will be deleted.\nConfigletConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ConfigletKey This is the key of the ConfigletConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nConfigletConfigDeleteRequest Field Name Type Description key ConfigletKey Key indicates which ConfigletConfig instance to remove.\nThis field must always be set.\nConfigletConfigDeleteResponse Field Name Type Description key ConfigletKey Key echoes back the key of the deleted ConfigletConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nConfigletConfigDeleteSomeRequest Field Name Type Description keys ConfigletKey[\u0026hellip;] key contains a list of ConfigletConfig keys to delete\nConfigletConfigDeleteSomeResponse ConfigletConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ConfigletKey error string ConfigletConfigRequest Field Name Type Description key ConfigletKey Key uniquely identifies a ConfigletConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletConfigResponse Field Name Type Description value ConfigletConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigletConfig instance in this response.\nConfigletConfigSetRequest Field Name Type Description value ConfigletConfig ConfigletConfig carries the value to set into the datastore.\nSee the documentation on the ConfigletConfig struct for which fields are required.\nConfigletConfigSetResponse Field Name Type Description value ConfigletConfig Value carries all the values given in the ConfigletConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nConfigletConfigSetSomeRequest Field Name Type Description values ConfigletConfig[\u0026hellip;] value contains a list of ConfigletConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nConfigletConfigSetSomeResponse Field Name Type Description key ConfigletKey error string ConfigletConfigSomeRequest Field Name Type Description keys ConfigletKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletConfigSomeResponse Field Name Type Description value ConfigletConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletConfigStreamRequest Field Name Type Description partial_eq_filter ConfigletConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ConfigletConfig in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ConfigletConfig is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletConfig at end.\n* Each ConfigletConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletConfig at start, followed by updates until now.\n* Each ConfigletConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletConfig at start, followed by updates\nuntil end.\n* Each ConfigletConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletConfigStreamResponse Field Name Type Description value ConfigletConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigletConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigletConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigletRequest Field Name Type Description key ConfigletKey Key uniquely identifies a Configlet instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletResponse Field Name Type Description value Configlet Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfiglet instance in this response.\nConfigletSomeRequest Field Name Type Description keys ConfigletKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletSomeResponse Field Name Type Description value Configlet Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletStreamRequest Field Name Type Description partial_eq_filter Configlet[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each Configlet in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Configlet is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configlet at end.\n* Each Configlet response is fully-specified (all fields set).\n* start: Returns the state of each Configlet at start, followed by updates until now.\n* Each Configlet response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configlet at start, followed by updates\nuntil end.\n* Each Configlet response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletStreamResponse Field Name Type Description value Configlet Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Configlet\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Configlet value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nConfigletAssignmentConfigService Method Name Request Type Response Type Description GetOne ConfigletAssignmentConfigRequest ConfigletAssignmentConfigResponse GetSome ConfigletAssignmentConfigSomeRequest ConfigletAssignmentConfigSomeResponse stream GetAll ConfigletAssignmentConfigStreamRequest ConfigletAssignmentConfigStreamResponse stream Subscribe ConfigletAssignmentConfigStreamRequest ConfigletAssignmentConfigStreamResponse stream GetMeta ConfigletAssignmentConfigStreamRequest MetaResponse SubscribeMeta ConfigletAssignmentConfigStreamRequest MetaResponse stream Set ConfigletAssignmentConfigSetRequest ConfigletAssignmentConfigSetResponse SetSome ConfigletAssignmentConfigSetSomeRequest ConfigletAssignmentConfigSetSomeResponse stream Delete ConfigletAssignmentConfigDeleteRequest ConfigletAssignmentConfigDeleteResponse DeleteSome ConfigletAssignmentConfigDeleteSomeRequest ConfigletAssignmentConfigDeleteSomeResponse stream DeleteAll ConfigletAssignmentConfigDeleteAllRequest ConfigletAssignmentConfigDeleteAllResponse stream GetAllBatched ConfigletAssignmentConfigBatchedStreamRequest ConfigletAssignmentConfigBatchedStreamResponse stream SubscribeBatched ConfigletAssignmentConfigBatchedStreamRequest ConfigletAssignmentConfigBatchedStreamResponse stream ConfigletAssignmentService Method Name Request Type Response Type Description GetOne ConfigletAssignmentRequest ConfigletAssignmentResponse GetSome ConfigletAssignmentSomeRequest ConfigletAssignmentSomeResponse stream GetAll ConfigletAssignmentStreamRequest ConfigletAssignmentStreamResponse stream Subscribe ConfigletAssignmentStreamRequest ConfigletAssignmentStreamResponse stream GetMeta ConfigletAssignmentStreamRequest MetaResponse SubscribeMeta ConfigletAssignmentStreamRequest MetaResponse stream GetAllBatched ConfigletAssignmentBatchedStreamRequest ConfigletAssignmentBatchedStreamResponse stream SubscribeBatched ConfigletAssignmentBatchedStreamRequest ConfigletAssignmentBatchedStreamResponse stream ConfigletConfigService Method Name Request Type Response Type Description GetOne ConfigletConfigRequest ConfigletConfigResponse GetSome ConfigletConfigSomeRequest ConfigletConfigSomeResponse stream GetAll ConfigletConfigStreamRequest ConfigletConfigStreamResponse stream Subscribe ConfigletConfigStreamRequest ConfigletConfigStreamResponse stream GetMeta ConfigletConfigStreamRequest MetaResponse SubscribeMeta ConfigletConfigStreamRequest MetaResponse stream Set ConfigletConfigSetRequest ConfigletConfigSetResponse SetSome ConfigletConfigSetSomeRequest ConfigletConfigSetSomeResponse stream Delete ConfigletConfigDeleteRequest ConfigletConfigDeleteResponse DeleteSome ConfigletConfigDeleteSomeRequest ConfigletConfigDeleteSomeResponse stream DeleteAll ConfigletConfigDeleteAllRequest ConfigletConfigDeleteAllResponse stream GetAllBatched ConfigletConfigBatchedStreamRequest ConfigletConfigBatchedStreamResponse stream SubscribeBatched ConfigletConfigBatchedStreamRequest ConfigletConfigBatchedStreamResponse stream ConfigletService Method Name Request Type Response Type Description GetOne ConfigletRequest ConfigletResponse GetSome ConfigletSomeRequest ConfigletSomeResponse stream GetAll ConfigletStreamRequest ConfigletStreamResponse stream Subscribe ConfigletStreamRequest ConfigletStreamResponse stream GetMeta ConfigletStreamRequest MetaResponse SubscribeMeta ConfigletStreamRequest MetaResponse stream GetAllBatched ConfigletBatchedStreamRequest ConfigletBatchedStreamResponse stream SubscribeBatched ConfigletBatchedStreamRequest ConfigletBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/configstatus.v1/","title":"configstatus.v1","tags":[],"description":"","content":" arista/configstatus.v1/configstatus.proto\nConfigDiff\nConfigDiffKey\nConfigError\nConfigErrors\nConfigKey\nConfigSource\nConfigSources\nConfigSummary\nConfiguration\nDiffEntries\nDiffEntry\nSecurityProfile\nSecurityProfileComplianceSummary\nSecurityProfileDiff\nSecurityProfileDiffSummary\nSummary\nSummaryKey\nConfigFilterCode\nConfigSourceType\nConfigSyncCode\nConfigType\nDiffOp\nErrorCode\narista/configstatus.v1/services.gen.proto\nConfigDiffBatchedStreamRequest\nConfigDiffBatchedStreamResponse\nConfigDiffRequest\nConfigDiffResponse\nConfigDiffSomeRequest\nConfigDiffSomeResponse\nConfigDiffStreamRequest\nConfigDiffStreamResponse\nConfigurationBatchedStreamRequest\nConfigurationBatchedStreamResponse\nConfigurationRequest\nConfigurationResponse\nConfigurationSomeRequest\nConfigurationSomeResponse\nConfigurationStreamRequest\nConfigurationStreamResponse\nMetaResponse\nSecurityProfileBatchedStreamRequest\nSecurityProfileBatchedStreamResponse\nSecurityProfileDiffBatchedStreamRequest\nSecurityProfileDiffBatchedStreamResponse\nSecurityProfileDiffRequest\nSecurityProfileDiffResponse\nSecurityProfileDiffSomeRequest\nSecurityProfileDiffSomeResponse\nSecurityProfileDiffStreamRequest\nSecurityProfileDiffStreamResponse\nSecurityProfileDiffSummaryBatchedStreamRequest\nSecurityProfileDiffSummaryBatchedStreamResponse\nSecurityProfileDiffSummaryRequest\nSecurityProfileDiffSummaryResponse\nSecurityProfileDiffSummarySomeRequest\nSecurityProfileDiffSummarySomeResponse\nSecurityProfileDiffSummaryStreamRequest\nSecurityProfileDiffSummaryStreamResponse\nSecurityProfileRequest\nSecurityProfileResponse\nSecurityProfileSomeRequest\nSecurityProfileSomeResponse\nSecurityProfileStreamRequest\nSecurityProfileStreamResponse\nSummaryBatchedStreamRequest\nSummaryBatchedStreamResponse\nSummaryRequest\nSummaryResponse\nSummarySomeRequest\nSummarySomeResponse\nSummaryStreamRequest\nSummaryStreamResponse\nConfigDiffService\nConfigurationService\nSecurityProfileDiffService\nSecurityProfileDiffSummaryService\nSecurityProfileService\nSummaryService\nTop\narista/configstatus.v1/configstatus.proto ConfigDiff Field Name Type Description key ConfigDiffKey Key represents config diff key\nuri google.protobuf.StringValue Uri represents the HTTP URI client can use to GET config diff and associated errors\nConfigDiffKey ConfigDiffKey uniquely identifies a configuration diff request\nField Name Type Description a_device_id google.protobuf.StringValue A_device_id is the serial number of the device on A side (left hand side)\na_type ConfigType A_type is the config type on A side (left hand side)\na_time google.protobuf.Timestamp A_time is the time at which to fetch config on A side (left hand side)\nb_device_id google.protobuf.StringValue B_device_id is the serial number of the device on B side (right hand side)\nb_type ConfigType B_type is the config type on B side (right hand side)\nb_time google.protobuf.Timestamp B_time is the time at which to fetch config on B side (right hand side)\nConfigError ConfigError represents errors reported by CVP when handling device configuration\nField Name Type Description error_code ErrorCode error_msg google.protobuf.StringValue line_num google.protobuf.Int32Value Line_num represents line number, if any\nconfiglet_name google.protobuf.StringValue Configlet_name represents the originating configlet name. Configlet_name\nand line_num point to the line where config warning or config error originate.\nConfigErrors Field Name Type Description values ConfigError[\u0026hellip;] ConfigKey ConfigKey uniquely identifies a config request.\nField Name Type Description device_id google.protobuf.StringValue Device_id is the serial number of the device\ntype ConfigType Type describes the config type\nConfigSource ConfigSource describes an individual source of the proposed/designed config\nField Name Type Description source_type ConfigSourceType source_id google.protobuf.StringValue source_id identifier to distinguish between multiple instances of the source type\nsource_id is :\nconfiglet name for CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET\nstudio id for CONFIG_SOURCE_TYPE_STUDIO\nconfiglet id for CONFIG_SOURCE_TYPE_STUDIO_STATIC\nConfigSources ConfigSources is the list of sources of the proposed/designed config\nField Name Type Description values ConfigSource[\u0026hellip;] ConfigSummary ConfigSummary represents device configuration summary.\nField Name Type Description sync ConfigSyncCode nop_lines google.protobuf.Int32Value Number of lines with code no-operation\nignored_lines google.protobuf.Int32Value Number of lines with code IGNORE\nadded_lines google.protobuf.Int32Value Number of lines with code ADD\ndeleted_lines google.protobuf.Int32Value Number of lines with code DELETE\nchanged_lines google.protobuf.Int32Value Number of lines with code CHANGE\ndesigned_config_errors google.protobuf.Int32Value Number of designed config errors\ndesigned_config_warnings google.protobuf.Int32Value Number of designed config warnings\nrunning_config_update_time google.protobuf.Timestamp Timestamp at which running config is updated\ndesigned_config_update_time google.protobuf.Timestamp Timestamp at which designed config is updated\nrunning_config_uri google.protobuf.StringValue The HTTP URI client can use to GET running config and associated errors\ndesigned_config_uri google.protobuf.StringValue The HTTP URI client can use to GET designed config and associated errors\ndiff_uri google.protobuf.StringValue The HTTP URI client can use to GET config diff and associated errors\ndigest google.protobuf.StringValue Digest (SHA-256) of the config diff.\nConfiguration Configuration represents device\u0026rsquo;s CLI configuration\nField Name Type Description key ConfigKey uri google.protobuf.StringValue Uri represents the HTTP URI client can use to GET config body and associated errors\nDiffEntries DiffEntries indicates potential multiple lines of config diff\nField Name Type Description values DiffEntry[\u0026hellip;] DiffEntry DiffEntry represents one entry in a Diff\nField Name Type Description op DiffOp a_line_num google.protobuf.Int32Value line number in A this diff applies to\nb_line_num google.protobuf.Int32Value line number in B this diff applies to\nb_parent_line_num google.protobuf.Int32Value line number of the parent command in B\na_line google.protobuf.StringValue content of config line in A\nb_line google.protobuf.StringValue content of config line in B\na_filter_code ConfigFilterCode Config filter code of the line in A\nb_filter_code ConfigFilterCode Config filter code of the line in B\na_parent_line_num google.protobuf.Int32Value line number of the parent command in A\nSecurityProfile SecurityProfile holds the EOS configuration for the security profile.\nField Name Type Description key ConfigKey key uniquely identifies the configuration\nconfig google.protobuf.StringValue config describes the security profile config body\nSecurityProfileComplianceSummary SecurityProfileComplianceSummary holds the compliance summary for security profile configuration.\nField Name Type Description sync ConfigSyncCode nop_lines google.protobuf.Int32Value nop_lines is the number of lines with code no-operation\nignored_lines google.protobuf.Int32Value ignored_lines is the number of lines with code IGNORE\nadded_lines google.protobuf.Int32Value added_lines is the number of lines with code ADD\ndeleted_lines google.protobuf.Int32Value deleted_lines is the number of lines with code DELETE\nchanged_lines google.protobuf.Int32Value changed_lines is the Number of lines with code CHANGE\ndigest google.protobuf.StringValue digest is the digest (SHA-256 hash) of the security profile configuration diff\nrunning_config_update_time google.protobuf.Timestamp running_config_update_time is the timestamp at which running security profile\nor running config is updated\ndesigned_config_update_time google.protobuf.Timestamp designed_config_update_time is the timestamp at which designed security profile or\ndesigned config is updated\nSecurityProfileDiff SecurityProfileDiff holds the security profile configuration diff.\nField Name Type Description key ConfigDiffKey key represents security profile config diff key\ndiff DiffEntries diff represents diff entries\nSecurityProfileDiffSummary SecurityProfileDiffSummary holds device compliance summary w.r.t security profile.\nField Name Type Description key SummaryKey key uniquely identifies the Summary\nsummary SecurityProfileComplianceSummary summary is the security profile configuration compliance summary\nSummary Field Name Type Description key SummaryKey summary ConfigSummary SummaryKey SummaryKey uniquely identifies a device summary request\nField Name Type Description device_id google.protobuf.StringValue Device_id is the serial number of the device\nConfigFilterCode ConfigFilterCode indicates if a config line matches PCM filter(s)\nName Number Description CONFIG_FILTER_CODE_UNSPECIFIED 0 UNSPECIFIED indicates config line did not match any partial config management (PCM) filter\nCONFIG_FILTER_CODE_MANAGED_LINE 1 MANAGED_LINE indicates config line matches managed PCM filter hence is managed\nCONFIG_FILTER_CODE_UNMANAGED_LINE 2 UNMANAGED_LINE indicates config line matches unmanaged PCM filter hence is not managed\nConfigSourceType ConfigSourceType indicates the type of source for the proposed/designed configuration for the device\nName Number Description CONFIG_SOURCE_TYPE_UNSPECIFIED 0 CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET 1 CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET - configlet created from\nthe network provisioning workflow.\nCONFIG_SOURCE_TYPE_STUDIO 2 CONFIG_SOURCE_TYPE_STUDIO - config generated from a regular studio\nCONFIG_SOURCE_TYPE_STUDIO_STATIC 3 SCONFIG_SOURCE_TYPE_STUDIO_STATIC - static config from studios framework\nConfigSyncCode ConfigSyncCode indicates config synchronization status\nName Number Description CONFIG_SYNC_CODE_UNSPECIFIED 0 CONFIG_SYNC_CODE_IN_SYNC 1 IN_SYNC indicates designed config and running config are identical\nCONFIG_SYNC_CODE_OUT_OF_SYNC 2 OUT_OF_SYNC indicates designed config and running config are not identical\nConfigType Name Number Description CONFIG_TYPE_UNSPECIFIED 0 CONFIG_TYPE_RUNNING_CONFIG 1 CONFIG_TYPE_DESIGNED_CONFIG 2 DiffOp DiffOp is the operation to a line from one side of diff to get to another\nName Number Description DIFF_OP_UNSPECIFIED 0 DIFF_OP_NOP 1 NOP indicates no change. A and B are identical at this line\nDIFF_OP_IGNORE 2 IGNORE indicates a line that\u0026rsquo;s ignored in either A or B.\nOne of a_line_num or b_line_num will be -1\nDIFF_OP_ADD 3 ADD is an addition of a line from A\nDIFF_OP_DELETE 4 DELETE is deletion of a line from B\nDIFF_OP_CHANGE 5 CHANGE is a modification to a line in A\nErrorCode ErrorCode indicates warnings and errors produced during computing config\nName Number Description ERROR_CODE_UNSPECIFIED 0 ERROR_CODE_DEVICE_WARNING 1 DEVICE_WARNING indicates device warning\nERROR_CODE_DEVICE_ERROR 2 DEVICE_ERROR indicates device error\nERROR_CODE_UNREACHABLE_DEVICE 3 UNREACHABLE_DEVICE indicates the device cannot be reached\nERROR_CODE_CONFIG_FILTER_ERROR 4 CONFIG_FILTER_ERROR indicates error from partial config management filters\nERROR_CODE_INTERNAL 5 INTERNAL indicates internal errors\nTop\narista/configstatus.v1/services.gen.proto ConfigDiffBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigDiff at end.\n* Each ConfigDiff response is fully-specified (all fields set).\n* start: Returns the state of each ConfigDiff at start, followed by updates until now.\n* Each ConfigDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigDiff at start, followed by updates\nuntil end.\n* Each ConfigDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigDiffBatchedStreamResponse Field Name Type Description responses ConfigDiffStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigDiffRequest Field Name Type Description key ConfigDiffKey Key uniquely identifies a ConfigDiff instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigDiffResponse Field Name Type Description value ConfigDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigDiff instance in this response.\nConfigDiffSomeRequest Field Name Type Description keys ConfigDiffKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigDiffSomeResponse Field Name Type Description value ConfigDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigDiffStreamRequest Field Name Type Description partial_eq_filter ConfigDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigDiff at end.\n* Each ConfigDiff response is fully-specified (all fields set).\n* start: Returns the state of each ConfigDiff at start, followed by updates until now.\n* Each ConfigDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigDiff at start, followed by updates\nuntil end.\n* Each ConfigDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigDiffStreamResponse Field Name Type Description value ConfigDiff Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigDiff\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigDiff value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigurationBatchedStreamRequest Field Name Type Description partial_eq_filter Configuration[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configuration at end.\n* Each Configuration response is fully-specified (all fields set).\n* start: Returns the state of each Configuration at start, followed by updates until now.\n* Each Configuration response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configuration at start, followed by updates\nuntil end.\n* Each Configuration response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigurationBatchedStreamResponse Field Name Type Description responses ConfigurationStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigurationRequest Field Name Type Description key ConfigKey Key uniquely identifies a Configuration instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigurationResponse Field Name Type Description value Configuration Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfiguration instance in this response.\nConfigurationSomeRequest Field Name Type Description keys ConfigKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigurationSomeResponse Field Name Type Description value Configuration Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigurationStreamRequest Field Name Type Description partial_eq_filter Configuration[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configuration at end.\n* Each Configuration response is fully-specified (all fields set).\n* start: Returns the state of each Configuration at start, followed by updates until now.\n* Each Configuration response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configuration at start, followed by updates\nuntil end.\n* Each Configuration response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigurationStreamResponse Field Name Type Description value Configuration Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Configuration\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Configuration value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nSecurityProfileBatchedStreamRequest Field Name Type Description partial_eq_filter SecurityProfile[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfile at end.\n* Each SecurityProfile response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfile at start, followed by updates until now.\n* Each SecurityProfile response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfile at start, followed by updates\nuntil end.\n* Each SecurityProfile response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecurityProfileBatchedStreamResponse Field Name Type Description responses SecurityProfileStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecurityProfileDiffBatchedStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiff at end.\n* Each SecurityProfileDiff response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiff at start, followed by updates until now.\n* Each SecurityProfileDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiff at start, followed by updates\nuntil end.\n* Each SecurityProfileDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecurityProfileDiffBatchedStreamResponse Field Name Type Description responses SecurityProfileDiffStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecurityProfileDiffRequest Field Name Type Description key ConfigDiffKey Key uniquely identifies a SecurityProfileDiff instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffResponse Field Name Type Description value SecurityProfileDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecurityProfileDiff instance in this response.\nSecurityProfileDiffSomeRequest Field Name Type Description keys ConfigDiffKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffSomeResponse Field Name Type Description value SecurityProfileDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecurityProfileDiffStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiff at end.\n* Each SecurityProfileDiff response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiff at start, followed by updates until now.\n* Each SecurityProfileDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiff at start, followed by updates\nuntil end.\n* Each SecurityProfileDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecurityProfileDiffStreamResponse Field Name Type Description value SecurityProfileDiff Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecurityProfileDiff\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecurityProfileDiff value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSecurityProfileDiffSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiffSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiffSummary at end.\n* Each SecurityProfileDiffSummary response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiffSummary at start, followed by updates until now.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiffSummary at start, followed by updates\nuntil end.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecurityProfileDiffSummaryBatchedStreamResponse Field Name Type Description responses SecurityProfileDiffSummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecurityProfileDiffSummaryRequest Field Name Type Description key SummaryKey Key uniquely identifies a SecurityProfileDiffSummary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffSummaryResponse Field Name Type Description value SecurityProfileDiffSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecurityProfileDiffSummary instance in this response.\nSecurityProfileDiffSummarySomeRequest Field Name Type Description keys SummaryKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffSummarySomeResponse Field Name Type Description value SecurityProfileDiffSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecurityProfileDiffSummaryStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiffSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiffSummary at end.\n* Each SecurityProfileDiffSummary response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiffSummary at start, followed by updates until now.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiffSummary at start, followed by updates\nuntil end.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecurityProfileDiffSummaryStreamResponse Field Name Type Description value SecurityProfileDiffSummary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecurityProfileDiffSummary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecurityProfileDiffSummary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSecurityProfileRequest Field Name Type Description key ConfigKey Key uniquely identifies a SecurityProfile instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileResponse Field Name Type Description value SecurityProfile Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecurityProfile instance in this response.\nSecurityProfileSomeRequest Field Name Type Description keys ConfigKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileSomeResponse Field Name Type Description value SecurityProfile Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecurityProfileStreamRequest Field Name Type Description partial_eq_filter SecurityProfile[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfile at end.\n* Each SecurityProfile response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfile at start, followed by updates until now.\n* Each SecurityProfile response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfile at start, followed by updates\nuntil end.\n* Each SecurityProfile response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecurityProfileStreamResponse Field Name Type Description value SecurityProfile Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecurityProfile\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecurityProfile value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSummaryBatchedStreamResponse Field Name Type Description responses SummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSummaryRequest Field Name Type Description key SummaryKey Key uniquely identifies a Summary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummaryResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSummary instance in this response.\nSummarySomeRequest Field Name Type Description keys SummaryKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummarySomeResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SummaryStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSummaryStreamResponse Field Name Type Description value Summary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Summary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Summary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigDiffService Method Name Request Type Response Type Description GetOne ConfigDiffRequest ConfigDiffResponse GetSome ConfigDiffSomeRequest ConfigDiffSomeResponse stream GetAll ConfigDiffStreamRequest ConfigDiffStreamResponse stream Subscribe ConfigDiffStreamRequest ConfigDiffStreamResponse stream GetMeta ConfigDiffStreamRequest MetaResponse SubscribeMeta ConfigDiffStreamRequest MetaResponse stream GetAllBatched ConfigDiffBatchedStreamRequest ConfigDiffBatchedStreamResponse stream SubscribeBatched ConfigDiffBatchedStreamRequest ConfigDiffBatchedStreamResponse stream ConfigurationService Method Name Request Type Response Type Description GetOne ConfigurationRequest ConfigurationResponse GetSome ConfigurationSomeRequest ConfigurationSomeResponse stream GetAll ConfigurationStreamRequest ConfigurationStreamResponse stream Subscribe ConfigurationStreamRequest ConfigurationStreamResponse stream GetMeta ConfigurationStreamRequest MetaResponse SubscribeMeta ConfigurationStreamRequest MetaResponse stream GetAllBatched ConfigurationBatchedStreamRequest ConfigurationBatchedStreamResponse stream SubscribeBatched ConfigurationBatchedStreamRequest ConfigurationBatchedStreamResponse stream SecurityProfileDiffService Method Name Request Type Response Type Description GetOne SecurityProfileDiffRequest SecurityProfileDiffResponse GetSome SecurityProfileDiffSomeRequest SecurityProfileDiffSomeResponse stream GetAll SecurityProfileDiffStreamRequest SecurityProfileDiffStreamResponse stream Subscribe SecurityProfileDiffStreamRequest SecurityProfileDiffStreamResponse stream GetMeta SecurityProfileDiffStreamRequest MetaResponse SubscribeMeta SecurityProfileDiffStreamRequest MetaResponse stream GetAllBatched SecurityProfileDiffBatchedStreamRequest SecurityProfileDiffBatchedStreamResponse stream SubscribeBatched SecurityProfileDiffBatchedStreamRequest SecurityProfileDiffBatchedStreamResponse stream SecurityProfileDiffSummaryService Method Name Request Type Response Type Description GetOne SecurityProfileDiffSummaryRequest SecurityProfileDiffSummaryResponse GetSome SecurityProfileDiffSummarySomeRequest SecurityProfileDiffSummarySomeResponse stream GetAll SecurityProfileDiffSummaryStreamRequest SecurityProfileDiffSummaryStreamResponse stream Subscribe SecurityProfileDiffSummaryStreamRequest SecurityProfileDiffSummaryStreamResponse stream GetMeta SecurityProfileDiffSummaryStreamRequest MetaResponse SubscribeMeta SecurityProfileDiffSummaryStreamRequest MetaResponse stream GetAllBatched SecurityProfileDiffSummaryBatchedStreamRequest SecurityProfileDiffSummaryBatchedStreamResponse stream SubscribeBatched SecurityProfileDiffSummaryBatchedStreamRequest SecurityProfileDiffSummaryBatchedStreamResponse stream SecurityProfileService Method Name Request Type Response Type Description GetOne SecurityProfileRequest SecurityProfileResponse GetSome SecurityProfileSomeRequest SecurityProfileSomeResponse stream GetAll SecurityProfileStreamRequest SecurityProfileStreamResponse stream Subscribe SecurityProfileStreamRequest SecurityProfileStreamResponse stream GetMeta SecurityProfileStreamRequest MetaResponse SubscribeMeta SecurityProfileStreamRequest MetaResponse stream GetAllBatched SecurityProfileBatchedStreamRequest SecurityProfileBatchedStreamResponse stream SubscribeBatched SecurityProfileBatchedStreamRequest SecurityProfileBatchedStreamResponse stream SummaryService Method Name Request Type Response Type Description GetOne SummaryRequest SummaryResponse GetSome SummarySomeRequest SummarySomeResponse stream GetAll SummaryStreamRequest SummaryStreamResponse stream Subscribe SummaryStreamRequest SummaryStreamResponse stream GetMeta SummaryStreamRequest MetaResponse SubscribeMeta SummaryStreamRequest MetaResponse stream GetAllBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream SubscribeBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/connectivitymonitor.v1/","title":"connectivitymonitor.v1","tags":[],"description":"","content":" arista/connectivitymonitor.v1/connectivitymonitor.proto\nProbe ProbeKey ProbeStats ProbeStatsKey arista/connectivitymonitor.v1/services.gen.proto\nMetaResponse\nProbeBatchedStreamRequest\nProbeBatchedStreamResponse\nProbeRequest\nProbeResponse\nProbeSomeRequest\nProbeSomeResponse\nProbeStatsBatchedStreamRequest\nProbeStatsBatchedStreamResponse\nProbeStatsRequest\nProbeStatsResponse\nProbeStatsSomeRequest\nProbeStatsSomeResponse\nProbeStatsStreamRequest\nProbeStatsStreamResponse\nProbeStreamRequest\nProbeStreamResponse\nProbeService\nProbeStatsService\nTop\narista/connectivitymonitor.v1/connectivitymonitor.proto Probe Probe is identifying information of a connectivity monitor probe. It is used to retrieve probe information without getting the corresponding stats so that probe information can be displayed without streaming all related data, such as in the UI.\nField Name Type Description key ProbeKey key uniquely identifies the connectivity monitor probe.\nip_addr google.protobuf.StringValue ip_addr is the IP Address of the probe.\nhost_name google.protobuf.StringValue host_name is the name of the host of the probe.\ndescription google.protobuf.StringValue description is the description of the probe.\nProbeKey ProbeKey uniquely identifies a connectivity monitor probe.\nField Name Type Description device_id google.protobuf.StringValue device_id is the id of the device in the probe.\nhost google.protobuf.StringValue host is the hostname used in the probe.\nvrf google.protobuf.StringValue vrf is the name of the VRF in the probe.\nProbeStats ProbeStats is the connectivity monitor statistics related to the specified probe.\nField Name Type Description key ProbeStatsKey key uniquely identifies the connectivity monitor probe.\nlatency_millis google.protobuf.DoubleValue latency_millis is the latency between the device interface and the host.\nValue is in milliseconds.\njitter_millis google.protobuf.DoubleValue jitter_millis is the amount of jitter experienced by requests\nbetween the device interface and host.\nValue is in milliseconds.\nhttp_response_time_millis google.protobuf.DoubleValue http_response_time_millis is the amount of time taken to respond to a http\nrequest between the device interface and the host.\nValue is in milliseconds.\npacket_loss_percent google.protobuf.Int64Value packet_loss_percent is the amount of packet loss experienced\nby requests between the device interface and host.\nValue is a percentage.\nerror google.protobuf.StringValue error is the error reported on the connection.\nProbeStatsKey ProbeStatsKey uniquely identifies a connectivity monitor probe\u0026rsquo;s statistics, per source interface.\nField Name Type Description device_id google.protobuf.StringValue device_id is the id of the device in the probe.\nhost google.protobuf.StringValue host is the hostname used in the probe.\nvrf google.protobuf.StringValue vrf is the name of the VRF in the probe.\nsource_intf google.protobuf.StringValue source_intf is the name of the interface in the probe.\nTop\narista/connectivitymonitor.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nProbeBatchedStreamRequest Field Name Type Description partial_eq_filter Probe[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Probe at end.\n* Each Probe response is fully-specified (all fields set).\n* start: Returns the state of each Probe at start, followed by updates until now.\n* Each Probe response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Probe at start, followed by updates\nuntil end.\n* Each Probe response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nProbeBatchedStreamResponse Field Name Type Description responses ProbeStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nProbeRequest Field Name Type Description key ProbeKey Key uniquely identifies a Probe instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeResponse Field Name Type Description value Probe Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nProbe instance in this response.\nProbeSomeRequest Field Name Type Description keys ProbeKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeSomeResponse Field Name Type Description value Probe Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ProbeStatsBatchedStreamRequest Field Name Type Description partial_eq_filter ProbeStats[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProbeStats at end.\n* Each ProbeStats response is fully-specified (all fields set).\n* start: Returns the state of each ProbeStats at start, followed by updates until now.\n* Each ProbeStats response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProbeStats at start, followed by updates\nuntil end.\n* Each ProbeStats response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nProbeStatsBatchedStreamResponse Field Name Type Description responses ProbeStatsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nProbeStatsRequest Field Name Type Description key ProbeStatsKey Key uniquely identifies a ProbeStats instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeStatsResponse Field Name Type Description value ProbeStats Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nProbeStats instance in this response.\nProbeStatsSomeRequest Field Name Type Description keys ProbeStatsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeStatsSomeResponse Field Name Type Description value ProbeStats Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ProbeStatsStreamRequest Field Name Type Description partial_eq_filter ProbeStats[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProbeStats at end.\n* Each ProbeStats response is fully-specified (all fields set).\n* start: Returns the state of each ProbeStats at start, followed by updates until now.\n* Each ProbeStats response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProbeStats at start, followed by updates\nuntil end.\n* Each ProbeStats response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nProbeStatsStreamResponse Field Name Type Description value ProbeStats Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ProbeStats\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ProbeStats value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nProbeStreamRequest Field Name Type Description partial_eq_filter Probe[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Probe at end.\n* Each Probe response is fully-specified (all fields set).\n* start: Returns the state of each Probe at start, followed by updates until now.\n* Each Probe response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Probe at start, followed by updates\nuntil end.\n* Each Probe response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nProbeStreamResponse Field Name Type Description value Probe Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Probe\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Probe value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nProbeService Method Name Request Type Response Type Description GetOne ProbeRequest ProbeResponse GetSome ProbeSomeRequest ProbeSomeResponse stream GetAll ProbeStreamRequest ProbeStreamResponse stream Subscribe ProbeStreamRequest ProbeStreamResponse stream GetMeta ProbeStreamRequest MetaResponse SubscribeMeta ProbeStreamRequest MetaResponse stream GetAllBatched ProbeBatchedStreamRequest ProbeBatchedStreamResponse stream SubscribeBatched ProbeBatchedStreamRequest ProbeBatchedStreamResponse stream ProbeStatsService Method Name Request Type Response Type Description GetOne ProbeStatsRequest ProbeStatsResponse GetSome ProbeStatsSomeRequest ProbeStatsSomeResponse stream GetAll ProbeStatsStreamRequest ProbeStatsStreamResponse stream Subscribe ProbeStatsStreamRequest ProbeStatsStreamResponse stream GetMeta ProbeStatsStreamRequest MetaResponse SubscribeMeta ProbeStatsStreamRequest MetaResponse stream GetAllBatched ProbeStatsBatchedStreamRequest ProbeStatsBatchedStreamResponse stream SubscribeBatched ProbeStatsBatchedStreamRequest ProbeStatsBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/dashboard.v1/","title":"dashboard.v1","tags":[],"description":"","content":" arista/dashboard.v1/dashboard.proto\nDashboard DashboardConfig DashboardKey DashboardMetadata Dimensions Filter GlobalDashboardConfig Position Widget WidgetStyles Widgets arista/dashboard.v1/services.gen.proto\nDashboardBatchedStreamRequest\nDashboardBatchedStreamResponse\nDashboardConfigBatchedStreamRequest\nDashboardConfigBatchedStreamResponse\nDashboardConfigDeleteAllRequest\nDashboardConfigDeleteAllResponse\nDashboardConfigDeleteRequest\nDashboardConfigDeleteResponse\nDashboardConfigDeleteSomeRequest\nDashboardConfigDeleteSomeResponse\nDashboardConfigRequest\nDashboardConfigResponse\nDashboardConfigSetRequest\nDashboardConfigSetResponse\nDashboardConfigSetSomeRequest\nDashboardConfigSetSomeResponse\nDashboardConfigSomeRequest\nDashboardConfigSomeResponse\nDashboardConfigStreamRequest\nDashboardConfigStreamResponse\nDashboardRequest\nDashboardResponse\nDashboardSomeRequest\nDashboardSomeResponse\nDashboardStreamRequest\nDashboardStreamResponse\nGlobalDashboardConfigBatchedStreamRequest\nGlobalDashboardConfigBatchedStreamResponse\nGlobalDashboardConfigRequest\nGlobalDashboardConfigResponse\nGlobalDashboardConfigSetRequest\nGlobalDashboardConfigSetResponse\nGlobalDashboardConfigStreamRequest\nGlobalDashboardConfigStreamResponse\nMetaResponse\nDashboardConfigService\nDashboardService\nGlobalDashboardConfigService\nTop\narista/dashboard.v1/dashboard.proto Dashboard Dashboard state contains all dashboard data.\nField Name Type Description key DashboardKey key is the unique identifier. It will always be defined.\ncreated_at google.protobuf.Timestamp created_at represents the date the dashboard was first created.\nOld dashboards may not have this field set.\ncreated_by google.protobuf.StringValue created_by keeps the name of the user who first created this dashboard.\nOld dashboards may not have this field set.\nlast_modified_at google.protobuf.Timestamp last_modified_at holds the timestamp this dashboard was last updated by an user.\nOld dashboards may not have this field set.\nlast_modified_by google.protobuf.StringValue last_modified_by holds the username who last updated this dashboard.\nOld dashboards may not have this field set.\nmeta_data DashboardMetadata meta_data includes version metadata about the dashboard.\nname google.protobuf.StringValue name is the dashboard name, displayed at the top of the dashboard.\ndescription google.protobuf.StringValue description may include details about what is displayed in the dashboard.\nwidgets Widgets widgets list of widgets in the dashboard.\nDashboardConfig DashboardConfig includes all user-editable dashboard fields.\nField Name Type Description key DashboardKey key is the unique identifier. It always must be defined.\nIf set, will create or update a dashboard.\nname google.protobuf.StringValue name is the dashboard name, displayed at the top of the dashboard.\ndescription google.protobuf.StringValue description may include details about what is displayed in the dashboard.\nwidgets Widgets widgets list of widgets in the dashboard.\nDashboardKey DashboardKey represents the dashboard unique identifier.\nField Name Type Description dashboard_id google.protobuf.StringValue dashboard_id holds the id of the dashboard\nDashboardMetadata DashboardMetadata includes versioning metadata. All the data here is managed internally, and is read-only.\nField Name Type Description schema_version google.protobuf.StringValue schema_version is managed internally.\nlegacy_key google.protobuf.StringValue legacy_key holds the key of a previous version of the dashboard, in case it was migrated.\nlegacy_version google.protobuf.StringValue legacy_version tells from which version the dashboard was migrated from.\nfrom_package google.protobuf.StringValue from_package records the contributing package key and version, if applicable.\nDimensions Dimensions represents the dimensions in cells of the widgets in the UI.\nField Name Type Description width google.protobuf.UInt32Value width of the widget in the UI, represented in number of cells.\nheight google.protobuf.UInt32Value height of the widget in the UI, represented in number of cells.\nFilter Filter is used to filter dashboards for non exact match cases.\nField Name Type Description tags fmp.RepeatedString tags includes the values to be matched in the dashboard description.\nTags are matched by word. Generally, a tag is prefixed by a \u0026lsquo;#\u0026rsquo;,\nwhich must be omitted when provided here.\nAll provided tags must match inside a dashboard for it to be returned.\nE.g., to match \u0026ldquo;#devices\u0026rdquo;, the tag should be set to \u0026ldquo;devices\u0026rdquo;.\nGlobalDashboardConfig GlobalDashboardConfig holds global configs related to Dashboards.\nField Name Type Description default_dashboard DashboardKey default_dashboard is the default dashboard shown to a user.\nTo unset, use an empty key ({dashboard_id: nil}) in a Set() call.\nPosition Position represents a cell position in the UI.\nField Name Type Description x google.protobuf.UInt32Value x represents a position in the horizontal axis.\ny google.protobuf.UInt32Value y represents a position in the vertical axis.\nWidget Widget is used to create a dashboard. Each widget is responsible to display some type of data.\nField Name Type Description id google.protobuf.StringValue id holds the unique identifier for the widget inside a dashboard\nname google.protobuf.StringValue name of the widget is displayed at the top of the widget.\nposition Position position of the widget, represented as a (x,y) coordinate in a grid.\nTop left is at (0,0).\ndimensions Dimensions dimensions of the widget represents how many cell in the grid it takes.\ntype google.protobuf.StringValue type is the widget type. Each type is handled differently in the UI,\nand can use different inputs.\ninputs google.protobuf.StringValue inputs contains metadata about the data the widget will display, encoded in a JSON string.\nInternal data vary based on the widget type type and is managed by the client.\nlocation google.protobuf.StringValue location is used as a position display hint, used and managed by the UI.\nstyles WidgetStyles styles represents the widget\u0026rsquo;s panel appearance.\nparent google.protobuf.StringValue parent stores the id of its parent widget.\nWidgetStyles WidgetStyles represents the widget\u0026rsquo;s panel appearance.\nField Name Type Description hide_title google.protobuf.BoolValue hide_title is used to hint the dashboard that the widget title must be hidden.\nbackground_color google.protobuf.StringValue background_color is used to set the widget\u0026rsquo;s background color.\nhide_horizontal_bar google.protobuf.BoolValue hide_horizontal_bar is used to hint the dashboard that the title separator must be hidden.\ntitle_size google.protobuf.UInt32Value title_size is used to set widget\u0026rsquo;s title size.\nWidgets Widgets holds a list of Widgets.\nField Name Type Description values Widget[\u0026hellip;] values holds a list of widgets\nTop\narista/dashboard.v1/services.gen.proto DashboardBatchedStreamRequest Field Name Type Description partial_eq_filter Dashboard[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter[\u0026hellip;] For each Dashboard in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Dashboard is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Dashboard at end.\n* Each Dashboard response is fully-specified (all fields set).\n* start: Returns the state of each Dashboard at start, followed by updates until now.\n* Each Dashboard response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Dashboard at start, followed by updates\nuntil end.\n* Each Dashboard response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDashboardBatchedStreamResponse Field Name Type Description responses DashboardStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDashboardConfigBatchedStreamRequest Field Name Type Description partial_eq_filter DashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DashboardConfig at end.\n* Each DashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each DashboardConfig at start, followed by updates until now.\n* Each DashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DashboardConfig at start, followed by updates\nuntil end.\n* Each DashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDashboardConfigBatchedStreamResponse Field Name Type Description responses DashboardConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDashboardConfigDeleteAllRequest Field Name Type Description partial_eq_filter DashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nDashboardConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey DashboardKey This is the key of the DashboardConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nDashboardConfigDeleteRequest Field Name Type Description key DashboardKey Key indicates which DashboardConfig instance to remove.\nThis field must always be set.\nDashboardConfigDeleteResponse Field Name Type Description key DashboardKey Key echoes back the key of the deleted DashboardConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nDashboardConfigDeleteSomeRequest Field Name Type Description keys DashboardKey[\u0026hellip;] key contains a list of DashboardConfig keys to delete\nDashboardConfigDeleteSomeResponse DashboardConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key DashboardKey error string DashboardConfigRequest Field Name Type Description key DashboardKey Key uniquely identifies a DashboardConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardConfigResponse Field Name Type Description value DashboardConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDashboardConfig instance in this response.\nDashboardConfigSetRequest Field Name Type Description value DashboardConfig DashboardConfig carries the value to set into the datastore.\nSee the documentation on the DashboardConfig struct for which fields are required.\nDashboardConfigSetResponse Field Name Type Description value DashboardConfig Value carries all the values given in the DashboardConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nDashboardConfigSetSomeRequest Field Name Type Description values DashboardConfig[\u0026hellip;] value contains a list of DashboardConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nDashboardConfigSetSomeResponse Field Name Type Description key DashboardKey error string DashboardConfigSomeRequest Field Name Type Description keys DashboardKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardConfigSomeResponse Field Name Type Description value DashboardConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DashboardConfigStreamRequest Field Name Type Description partial_eq_filter DashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DashboardConfig at end.\n* Each DashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each DashboardConfig at start, followed by updates until now.\n* Each DashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DashboardConfig at start, followed by updates\nuntil end.\n* Each DashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDashboardConfigStreamResponse Field Name Type Description value DashboardConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DashboardConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DashboardConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDashboardRequest Field Name Type Description key DashboardKey Key uniquely identifies a Dashboard instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardResponse Field Name Type Description value Dashboard Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDashboard instance in this response.\nDashboardSomeRequest Field Name Type Description keys DashboardKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardSomeResponse Field Name Type Description value Dashboard Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DashboardStreamRequest Field Name Type Description partial_eq_filter Dashboard[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter[\u0026hellip;] For each Dashboard in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Dashboard is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Dashboard at end.\n* Each Dashboard response is fully-specified (all fields set).\n* start: Returns the state of each Dashboard at start, followed by updates until now.\n* Each Dashboard response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Dashboard at start, followed by updates\nuntil end.\n* Each Dashboard response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDashboardStreamResponse Field Name Type Description value Dashboard Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Dashboard\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Dashboard value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nGlobalDashboardConfigBatchedStreamRequest Field Name Type Description partial_eq_filter GlobalDashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each GlobalDashboardConfig at end.\n* Each GlobalDashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each GlobalDashboardConfig at start, followed by updates until now.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each GlobalDashboardConfig at start, followed by updates\nuntil end.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nGlobalDashboardConfigBatchedStreamResponse Field Name Type Description responses GlobalDashboardConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nGlobalDashboardConfigRequest Field Name Type Description time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nGlobalDashboardConfigResponse Field Name Type Description value GlobalDashboardConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nGlobalDashboardConfig instance in this response.\nGlobalDashboardConfigSetRequest Field Name Type Description value GlobalDashboardConfig GlobalDashboardConfig carries the value to set into the datastore.\nSee the documentation on the GlobalDashboardConfig struct for which fields are required.\nGlobalDashboardConfigSetResponse Field Name Type Description value GlobalDashboardConfig Value carries all the values given in the GlobalDashboardConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nGlobalDashboardConfigStreamRequest Field Name Type Description partial_eq_filter GlobalDashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each GlobalDashboardConfig at end.\n* Each GlobalDashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each GlobalDashboardConfig at start, followed by updates until now.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each GlobalDashboardConfig at start, followed by updates\nuntil end.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nGlobalDashboardConfigStreamResponse Field Name Type Description value GlobalDashboardConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this GlobalDashboardConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the GlobalDashboardConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nDashboardConfigService Method Name Request Type Response Type Description GetOne DashboardConfigRequest DashboardConfigResponse GetSome DashboardConfigSomeRequest DashboardConfigSomeResponse stream GetAll DashboardConfigStreamRequest DashboardConfigStreamResponse stream Subscribe DashboardConfigStreamRequest DashboardConfigStreamResponse stream GetMeta DashboardConfigStreamRequest MetaResponse SubscribeMeta DashboardConfigStreamRequest MetaResponse stream Set DashboardConfigSetRequest DashboardConfigSetResponse SetSome DashboardConfigSetSomeRequest DashboardConfigSetSomeResponse stream Delete DashboardConfigDeleteRequest DashboardConfigDeleteResponse DeleteSome DashboardConfigDeleteSomeRequest DashboardConfigDeleteSomeResponse stream DeleteAll DashboardConfigDeleteAllRequest DashboardConfigDeleteAllResponse stream GetAllBatched DashboardConfigBatchedStreamRequest DashboardConfigBatchedStreamResponse stream SubscribeBatched DashboardConfigBatchedStreamRequest DashboardConfigBatchedStreamResponse stream DashboardService Method Name Request Type Response Type Description GetOne DashboardRequest DashboardResponse GetSome DashboardSomeRequest DashboardSomeResponse stream GetAll DashboardStreamRequest DashboardStreamResponse stream Subscribe DashboardStreamRequest DashboardStreamResponse stream GetMeta DashboardStreamRequest MetaResponse SubscribeMeta DashboardStreamRequest MetaResponse stream GetAllBatched DashboardBatchedStreamRequest DashboardBatchedStreamResponse stream SubscribeBatched DashboardBatchedStreamRequest DashboardBatchedStreamResponse stream GlobalDashboardConfigService Method Name Request Type Response Type Description GetOne GlobalDashboardConfigRequest GlobalDashboardConfigResponse GetAll GlobalDashboardConfigStreamRequest GlobalDashboardConfigStreamResponse stream Subscribe GlobalDashboardConfigStreamRequest GlobalDashboardConfigStreamResponse stream SubscribeMeta GlobalDashboardConfigStreamRequest MetaResponse stream Set GlobalDashboardConfigSetRequest GlobalDashboardConfigSetResponse GetAllBatched GlobalDashboardConfigBatchedStreamRequest GlobalDashboardConfigBatchedStreamResponse stream SubscribeBatched GlobalDashboardConfigBatchedStreamRequest GlobalDashboardConfigBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/endpointlocation.v1/","title":"endpointlocation.v1","tags":[],"description":"","content":" arista/endpointlocation.v1/endpointlocation.proto\nDevice\nDeviceInfo\nDeviceMap\nDeviceMap.ValuesEntry\nEndpointLocation\nEndpointLocationKey\nExplanationList\nIdentifier\nIdentifierList\nIdentifierSourceList\nLocation\nLocationList\nDeviceStatus\nDeviceType\nExplanation\nIdentifierSource\nIdentifierType\nLikelihood\nMacType\narista/endpointlocation.v1/services.gen.proto\nEndpointLocationBatchedStreamRequest\nEndpointLocationBatchedStreamResponse\nEndpointLocationRequest\nEndpointLocationResponse\nEndpointLocationSomeRequest\nEndpointLocationSomeResponse\nEndpointLocationStreamRequest\nEndpointLocationStreamResponse\nMetaResponse\nEndpointLocationService\nTop\narista/endpointlocation.v1/endpointlocation.proto Device Device holds information for a device matching a search term.\nField Name Type Description identifier_list IdentifierList identifier_list holds the unique identifiers for the device.\ndevice_type DeviceType device_type is the broad category of the device.\nlocation_list LocationList location_list is the list of possible locations of the device.\nIt is ordered from most likely to least likely.\ndevice_status DeviceStatus device_status is the network status of the device.\ndevice_info DeviceInfo device_info holds various attributes of the device.\nDeviceInfo DeviceInfo holds various attributes of a device (typically an endpoint) from Fingerbank.\nField Name Type Description device_name google.protobuf.StringValue device_name is the name of the device.\nmobile google.protobuf.BoolValue mobile indicates whether the device is a mobile.\ntablet google.protobuf.BoolValue tablet indicates whether the device is a tablet.\nscore google.protobuf.UInt32Value score is a value from 0 to 100 that indicates how confident we are\nthat the device has device_name.\nFingerbank API documentation of score: https://api.fingerbank.org/api_doc/2/combinations.html\nversion google.protobuf.StringValue version is the version of device_name.\nmac_vendor google.protobuf.StringValue mac_vendor is the enterprise that assigns the MAC address of the device.\nclassification google.protobuf.StringValue classification is the broadest category to which device_name belongs.\nThis is the highest level in hierarchy.\nhierarchy fmp.RepeatedString hierarchy is a list of categorizations of the device from most broad\nto most specific. The first element is always classification and the\nlast element is always device_name.\nFor example,\n[\u0026ldquo;VoIP Device\u0026rdquo;, \u0026ldquo;FooInc VoIP\u0026rdquo;, \u0026ldquo;FooInc PhoneSet IP\u0026rdquo;, \u0026ldquo;FooInc PhoneSet IP Model123\u0026rdquo;]\nIn this hierarchy, \u0026ldquo;VoIP Device\u0026rdquo; is classification and \u0026ldquo;FooInc PhoneSet IP Model123\u0026rdquo;\nis device_name.\nDeviceMap DeviceMap is a collection of Device.\nField Name Type Description values DeviceMap.ValuesEntry[\u0026hellip;] values is a map from most specific identifier to Device.\nThe key could be device serial number or MAC address.\nDeviceMap.ValuesEntry Field Name Type Description key string value Device EndpointLocation EndpointLocation is the entrypoint to searching for endpoints.\nField Name Type Description key EndpointLocationKey key holds a search term used to locate an endpoint.\ndevice_map DeviceMap device_map holds the devices (and their potential locations)\nthat match the search term.\nEndpointLocationKey EndpointLocationKey holds a search term used to locate an endpoint.\nField Name Type Description search_term google.protobuf.StringValue search_term is used to match against identifiers on devices.\nThis could be a MAC/IP address, hostname, etc.\nExplanationList ExplanationList is a list of Explanation.\nField Name Type Description values Explanation[\u0026hellip;] values is a list of unique Explanation. Currently, this will\nalways contain one value, but in the future it may contain\nmore.\nIdentifier Identifier holds device identification information.\nField Name Type Description type IdentifierType type is the identifier type corresponding to value.\nvalue google.protobuf.StringValue value is the string representation of the identifier. Its interpretation\ndepends on type.\nsource_list IdentifierSourceList source_list is the set of sources where this identifier was discovered.\nIdentifierList IdentifierList is a list of Identifier.\nField Name Type Description values Identifier[\u0026hellip;] values is an unordered list of Identifier where each Identifier has a\nunique type and value combination.\nIdentifierSourceList IdentifierSourceList is a list of IdentifierSource.\nField Name Type Description values IdentifierSource[\u0026hellip;] values is an unordered list of unique IdentifierSource.\nLocation Location is a port (device_id, interface, vlan_id) on which at least one identifier has been discovered.\nField Name Type Description device_id google.protobuf.StringValue device_id identifies the device of the port.\ndevice_status DeviceStatus device_status is the status of the device identified by device_id.\ninterface google.protobuf.StringValue interface is the interface of the port.\nvlan_id google.protobuf.UInt32Value vlan_id identifies the VLAN of the port.\nlearned_time google.protobuf.Timestamp learned_time is when the port learned its identifiers.\nmac_type MacType mac_type is how the port learned its MAC address identifier.\nlikelihood Likelihood likelihood is the probability level that the port is directly connected\nto the queried endpoint.\nexplanation_list ExplanationList explanation_list holds the reasons that the port was assigned likelihood.\nidentifier_list IdentifierList identifier_list holds the discovered identifiers of the port.\nLocationList LocationList is a list of Location.\nField Name Type Description values Location[\u0026hellip;] values is a list of unique Location.\nDeviceStatus DeviceStatus is the network status of a device.\nName Number Description DEVICE_STATUS_UNSPECIFIED 0 DEVICE_STATUS_UNSPECIFIED is the default unspecified device status.\nDEVICE_STATUS_ACTIVE 1 DEVICE_STATUS_ACTIVE indicates a device is streaming its telemetry data\nto CloudVision.\nDEVICE_STATUS_INACTIVE 2 DEVICE_STATUS_INACTIVE indicates a device is either not streaming its\ntelemetry data to CloudVision or has been decommissioned from CloudVision.\nDeviceType DeviceType defines a broad set of categories for all queried devices.\nName Number Description DEVICE_TYPE_UNSPECIFIED 0 DEVICE_TYPE_UNSPECIFIED is the default unspecified device type.\nDEVICE_TYPE_INVENTORY 1 DEVICE_TYPE_INVENTORY indicates a device in the CloudVision inventory.\nDEVICE_TYPE_ENDPOINT 2 DEVICE_TYPE_ENDPOINT indicates a non-WiFi endpoint that does not exist\nin the CloudVision inventory.\nDEVICE_TYPE_WIFI_ENDPOINT 3 DEVICE_TYPE_WIFI_ENDPOINT indicates a WiFi client/endpoint that does not\nexist in the CloudVision inventory.\nExplanation Explanation defines the set of reasons for why a location has a certain likelihood. Some explanations apply to queried endpoints while others apply to queried devices in the CloudVision device inventory.\nName Number Description EXPLANATION_UNSPECIFIED 0 EXPLANATION_UNSPECIFIED is the default unspecified explanation.\nEXPLANATION_DIRECT_CONNECTION 1 EXPLANATION_DIRECT_CONNECTION indicates a direct connection to the queried\nendpoint device discovered via LLDP.\nEXPLANATION_NON_INVENTORY_CONNECTION 2 EXPLANATION_NON_INVENTORY_CONNECTION indicates a direct connection to at least\none non-inventory device (likely discovered via LLDP).\nEXPLANATION_NO_CONNECTION 3 EXPLANATION_NO_CONNECTION indicates that a location has no direct connection to\nany known device.\nEXPLANATION_INVENTORY_CONNECTION 4 EXPLANATION_INVENTORY_CONNECTION indicates that all of a location\u0026rsquo;s known connections\nare to devices in the inventory.\nEXPLANATION_OWN_PORT_INVENTORY_DEVICE 5 EXPLANATION_OWN_PORT_INVENTORY_DEVICE indicates a location on the queried inventory\ndevice itself.\nEXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE 6 EXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE indicates a direct connection to the\nqueried inventory device discovered via LLDP.\nEXPLANATION_NO_CONNECTION_INVENTORY_DEVICE 7 EXPLANATION_NO_CONNECTION_INVENTORY_DEVICE indicates that a location has no direct\nconnection to any known device (for queried inventory devices).\nEXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE 8 EXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE indicates that a location only has\nconnections to other devices besides the queried inventory device.\nEXPLANATION_VIRTUAL 9 EXPLANATION_VIRTUAL indicates that a location contains a virtual interface.\nEXPLANATION_WIRELESS_CONNECTION 10 EXPLANATION_WIRELESS_CONNECTION indicates a direct connection from a wireless access\npoint in the device inventory to a wireless client.\nEXPLANATION_ACCESS_PORT 11 EXPLANATION_ACCESS_PORT indicates that a location is an access port.\nIdentifierSource IdentifierSource defines the set of network protocols and other information sources where an identifier was found.\nName Number Description IDENTIFIER_SOURCE_UNSPECIFIED 0 IDENTIFIER_SOURCE_UNSPECIFIED is the default unspecified identifier source.\nIDENTIFIER_SOURCE_FDB 1 IDENTIFIER_SOURCE_FDB indicates a forwarding table.\nIDENTIFIER_SOURCE_ARP 2 IDENTIFIER_SOURCE_ARP indicates ARP (IPv4).\nIDENTIFIER_SOURCE_NEIGHBOR 3 IDENTIFIER_SOURCE_NEIGHBOR indicates NDP (IPv6).\nIDENTIFIER_SOURCE_DEVICE_INVENTORY 4 IDENTIFIER_SOURCE_DEVICE_INVENTORY indicates that an endpoint is in the\nCloudVision inventory.\nIDENTIFIER_SOURCE_LLDP 5 IDENTIFIER_SOURCE_LLDP indicates LLDP.\nIDENTIFIER_SOURCE_DHCP 6 IDENTIFIER_SOURCE_DHCP indicates DHCP.\nIDENTIFIER_SOURCE_WIFI 7 IDENTIFIER_SOURCE_WIFI indicates a WiFi endpoint that was learned through\na wireless manager.\nIdentifierType IdentifierType defines the set of ways for identifying endpoints.\nName Number Description IDENTIFIER_TYPE_UNSPECIFIED 0 IDENTIFIER_TYPE_UNSPECIFIED is the default unspecified identifier.\nIDENTIFIER_TYPE_MAC_ADDR 1 IDENTIFIER_TYPE_MAC_ADDR indicates a MAC address identifier.\nIDENTIFIER_TYPE_IPV4_ADDR 2 IDENTIFIER_TYPE_IPV4_ADDR indicates an IPv4 address identifier.\nIDENTIFIER_TYPE_IPV6_ADDR 3 IDENTIFIER_TYPE_IPV6_ADDR indicates an IPv6 address identifier.\nIDENTIFIER_TYPE_INVENTORY_DEVICE_ID 4 IDENTIFIER_TYPE_INVENTORY_DEVICE_ID indicates an inventory device identifier.\nIDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP 5 IDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP indicates a primary management IP identifier.\nIDENTIFIER_TYPE_HOSTNAME 6 IDENTIFIER_TYPE_HOSTNAME indicates a hostname identifier.\nIDENTIFIER_TYPE_USERNAME 7 IDENTIFIER_TYPE_USERNAME indicates a username identifier.\nIDENTIFIER_TYPE_OTHER 99999 IDENTIFIER_TYPE_OTHER is used for an unknown identifier.\nLikelihood Likelihood indicates a level of confidence.\nName Number Description LIKELIHOOD_UNSPECIFIED 0 LIKELIHOOD_UNSPECIFIED is the default unspecified likelihood.\nLIKELIHOOD_VERY_LIKELY 1 LIKELIHOOD_VERY_LIKELY indicates very high confidence.\nLIKELIHOOD_LIKELY 2 LIKELIHOOD_LIKELY indicates high confidence.\nLIKELIHOOD_SOMEWHAT_LIKELY 3 LIKELIHOOD_SOMEWHAT_LIKELY indicates medium confidence.\nLIKELIHOOD_LESS_LIKELY 4 LIKELIHOOD_LESS_LIKELY indicates low confidence.\nMacType MacType describes how the MAC address was learned on the port location.\nName Number Description MAC_TYPE_UNSPECIFIED 0 MAC_TYPE_UNSPECIFIED is the default unspecified MAC type.\nMAC_TYPE_LEARNED_DYNAMIC 1 MAC_TYPE_LEARNED_DYNAMIC indicates a MAC that is dynamically learned in hardware.\nMAC_TYPE_LEARNED_SECURE 2 MAC_TYPE_LEARNED_SECURE indicates a MAC that is learned in hardware on a port-security protect interface.\nMAC_TYPE_CONFIGURED_DYNAMIC 3 MAC_TYPE_CONFIGURED_DYNAMIC indicates a configured dynamic MAC.\nMAC_TYPE_CONFIGURED_SECURE 4 MAC_TYPE_CONFIGURED_SECURE indicates a MAC configured on an interface with Port Security: Protect mode enabled\nMAC_TYPE_CONFIGURED_STATIC 5 MAC_TYPE_CONFIGURED_STATIC indicates a statically configured MAC.\nMAC_TYPE_PEER_DYNAMIC 6 MAC_TYPE_PEER_DYNAMIC indicates a dynamically learned MAC discovered via an MLAG peer.\nMAC_TYPE_PEER_STATIC 7 MAC_TYPE_PEER_STATIC indicates a statically configured MAC discovered via an MLAG peer.\nMAC_TYPE_PEER_SECURE 8 MAC_TYPE_PEER_SECURE indicates a secure MAC learned from an MLAG peer.\nMAC_TYPE_LEARNED_REMOTE 9 MAC_TYPE_LEARNED_REMOTE indicates a MAC learned remotely behind a VxLAN VTEP.\nMAC_TYPE_CONFIGURED_REMOTE 10 MAC_TYPE_CONFIGURED_REMOTE indicates a MAC configured behind a VxLAN VTEP.\nMAC_TYPE_RECEIVED_REMOTE 11 MAC_TYPE_RECEIVED_REMOTE indicates a MAC received from a VxLAN controller.\nMAC_TYPE_PEER_LEARNED_REMOTE 12 MAC_TYPE_PEER_LEARNED_REMOTE indicates a remote MAC learned on a peer VTEP.\nMAC_TYPE_PEER_CONFIGURED_REMOTE 13 MAC_TYPE_PEER_CONFIGURED_REMOTE indicates an MLAG peer configured remote MAC.\nMAC_TYPE_PEER_RECEIVED_REMOTE 14 MAC_TYPE_PEER_RECEIVED_REMOTE indicates a remote MAC received from a VxLAN controller by the MLAG peer.\nMAC_TYPE_EVPN_DYNAMIC_REMOTE 15 MAC_TYPE_EVPN_DYNAMIC_REMOTE indicates an EVPN dynamic remote MAC.\nMAC_TYPE_EVPN_CONFIGURED_REMOTE 16 MAC_TYPE_EVPN_CONFIGURED_REMOTE indicates an EVPN configured remote MAC.\nMAC_TYPE_PEER_EVPN_REMOTE 17 MAC_TYPE_PEER_EVPN_REMOTE indicates an MLAG peer EVPN remote MAC.\nMAC_TYPE_CONFIGURED_ROUTER 18 MAC_TYPE_CONFIGURED_ROUTER indicates a configured MAC used in routing.\nMAC_TYPE_PEER_ROUTER 19 MAC_TYPE_PEER_ROUTER indicates an MLAG peer specific router MAC.\nMAC_TYPE_EVPN_INTF_DYNAMIC 20 MAC_TYPE_EVPN_INTF_DYNAMIC indicates a MAC advertised by EVPN when a dynamic MAC is learned on ESI (Ethernet Segment Identifier).\nMAC_TYPE_EVPN_INTF_STATIC 21 MAC_TYPE_EVPN_INTF_STATIC indicates a MAC configured on EVPN ESI.\nMAC_TYPE_AUTHENTICATED 22 MAC_TYPE_AUTHENTICATED indicates a MAC authenticated via 802.1X.\nMAC_TYPE_PEER_AUTHENTICATED 23 MAC_TYPE_PEER_AUTHENTICATED indicates a MAC authenticated by 802.1X and learned on an MLAG peer.\nMAC_TYPE_PENDING_SECURE 24 MAC_TYPE_PENDING_SECURE indicates a secure MAC in a pending state.\nMAC_TYPE_SOFTWARE_LEARNED_DYNAMIC 25 MAC_TYPE_SOFTWARE_LEARNED_DYNAMIC indicates a MAC learned behind VTEP in software in the case of a VxLAN remote MAC.\nMAC_TYPE_OTHER 99999 MAC_TYPE_OTHER is used for capturing future MAC types.\nTop\narista/endpointlocation.v1/services.gen.proto EndpointLocationBatchedStreamRequest Field Name Type Description partial_eq_filter EndpointLocation[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each EndpointLocation at end.\n* Each EndpointLocation response is fully-specified (all fields set).\n* start: Returns the state of each EndpointLocation at start, followed by updates until now.\n* Each EndpointLocation response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each EndpointLocation at start, followed by updates\nuntil end.\n* Each EndpointLocation response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nEndpointLocationBatchedStreamResponse Field Name Type Description responses EndpointLocationStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nEndpointLocationRequest Field Name Type Description key EndpointLocationKey Key uniquely identifies a EndpointLocation instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEndpointLocationResponse Field Name Type Description value EndpointLocation Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nEndpointLocation instance in this response.\nEndpointLocationSomeRequest Field Name Type Description keys EndpointLocationKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEndpointLocationSomeResponse Field Name Type Description value EndpointLocation Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp EndpointLocationStreamRequest Field Name Type Description partial_eq_filter EndpointLocation[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each EndpointLocation at end.\n* Each EndpointLocation response is fully-specified (all fields set).\n* start: Returns the state of each EndpointLocation at start, followed by updates until now.\n* Each EndpointLocation response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each EndpointLocation at start, followed by updates\nuntil end.\n* Each EndpointLocation response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nEndpointLocationStreamResponse Field Name Type Description value EndpointLocation Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this EndpointLocation\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the EndpointLocation value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nEndpointLocationService Method Name Request Type Response Type Description GetOne EndpointLocationRequest EndpointLocationResponse GetSome EndpointLocationSomeRequest EndpointLocationSomeResponse stream GetAll EndpointLocationStreamRequest EndpointLocationStreamResponse stream Subscribe EndpointLocationStreamRequest EndpointLocationStreamResponse stream GetMeta EndpointLocationStreamRequest MetaResponse SubscribeMeta EndpointLocationStreamRequest MetaResponse stream GetAllBatched EndpointLocationBatchedStreamRequest EndpointLocationBatchedStreamResponse stream SubscribeBatched EndpointLocationBatchedStreamRequest EndpointLocationBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/event.v1/","title":"event.v1","tags":[],"description":"","content":" arista/event.v1/event.proto\nEvent\nEventAck\nEventAnnotationConfig\nEventComponent\nEventComponent.ComponentsEntry\nEventComponents\nEventData\nEventData.DataEntry\nEventKey\nEventNote\nEventNoteConfig\nEventNotes\nEventNotes.NotesEntry\nEventNotesConfig\nEventNotesConfig.NotesEntry\nEventRead\nUserEventCreationConfig\nUserEventCreationKey\nComponentType\nEventSeverity\narista/event.v1/services.gen.proto\nEventAnnotationConfigDeleteAllRequest\nEventAnnotationConfigDeleteAllResponse\nEventAnnotationConfigDeleteRequest\nEventAnnotationConfigDeleteResponse\nEventAnnotationConfigDeleteSomeRequest\nEventAnnotationConfigDeleteSomeResponse\nEventAnnotationConfigRequest\nEventAnnotationConfigResponse\nEventAnnotationConfigSetRequest\nEventAnnotationConfigSetResponse\nEventAnnotationConfigSetSomeRequest\nEventAnnotationConfigSetSomeResponse\nEventAnnotationConfigSomeRequest\nEventAnnotationConfigSomeResponse\nEventAnnotationConfigStreamRequest\nEventAnnotationConfigStreamResponse\nEventRequest\nEventResponse\nEventSomeRequest\nEventSomeResponse\nEventStreamRequest\nEventStreamResponse\nMetaResponse\nUserEventCreationConfigDeleteAllRequest\nUserEventCreationConfigDeleteAllResponse\nUserEventCreationConfigDeleteRequest\nUserEventCreationConfigDeleteResponse\nUserEventCreationConfigDeleteSomeRequest\nUserEventCreationConfigDeleteSomeResponse\nUserEventCreationConfigRequest\nUserEventCreationConfigResponse\nUserEventCreationConfigSetRequest\nUserEventCreationConfigSetResponse\nUserEventCreationConfigSetSomeRequest\nUserEventCreationConfigSetSomeResponse\nUserEventCreationConfigSomeRequest\nUserEventCreationConfigSomeResponse\nUserEventCreationConfigStreamRequest\nUserEventCreationConfigStreamResponse\nEventAnnotationConfigService\nEventService\nUserEventCreationConfigService\nTop\narista/event.v1/event.proto Event Event is a telemetry event\nField Name Type Description key EventKey key is the event instance identifier\nseverity EventSeverity severity is the severity of the event\ntitle google.protobuf.StringValue title is the title of the event\ndescription google.protobuf.StringValue description is the description of the event\nevent_type google.protobuf.StringValue event_type is the type of the event\ndata EventData data is the data of the event\ncomponents EventComponents components is the components on which the event occurred\nack EventAck ack is the acknowledgement status of the event\nnotes EventNotes notes is the notes of the event\nlast_updated_time google.protobuf.Timestamp last_updated_time is the time of the most recent update to the event\nread EventRead read is the read status of the event\nrule_id google.protobuf.StringValue rule_id is the label of the rule associated with the event\nEventAck EventAck contains acknowledgement information of an event\nField Name Type Description ack google.protobuf.BoolValue ack is the acknowledgement state of an event\nacker google.protobuf.StringValue acker is the user that acknowledged the event\nack_time google.protobuf.Timestamp ack_time is the time of acknowledgement\nEventAnnotationConfig EventAnnotationConfig configures an event annotation\nNOTE: Either 1) key and ack or 2) key and notes or 3) key and read are required when used as an argument to Set.\nField Name Type Description key EventKey key is the event instance identifier\nack google.protobuf.BoolValue ack is the acknowledgement state of an event\nnotes EventNotesConfig notes is the notes on an event\nread google.protobuf.BoolValue read is the read state of an event. Setting this implies that an event has been read by a user\nEventComponent EventComponent describes an entity on which the event occurred\nField Name Type Description type ComponentType type is the type of component\ncomponents EventComponent.ComponentsEntry[\u0026hellip;] components identifies the entity on which the event occurred\nEventComponent.ComponentsEntry Field Name Type Description key string value string EventComponents EventComponents contains entities on which an event occurred\nField Name Type Description components EventComponent[\u0026hellip;] components describes the components on which an event occurred\nEventData EventData is additional event data\nField Name Type Description data EventData.DataEntry[\u0026hellip;] data is event data specific to the type of this event\nEventData.DataEntry Field Name Type Description key string value string EventKey EventKey uniquely identifies an event\nNOTE: All fields are required when used as an argument to GetOne, Set or Delete.\nField Name Type Description key google.protobuf.StringValue key is the event data identifier\ntimestamp google.protobuf.Timestamp timestamp is the time the event occurred\nEventNote EventNote is the state of a note\nField Name Type Description note google.protobuf.StringValue note is the text of the note\nnote_creator google.protobuf.StringValue note_creator is the creator of the note\nEventNoteConfig EventNoteConfig configures a note\nNOTE: note is required when used as an argument to Set.\nField Name Type Description note google.protobuf.StringValue note is the text of the note\nEventNotes EventNotes is the notes of an event state\nField Name Type Description notes EventNotes.NotesEntry[\u0026hellip;] notes is keyed by the time desired\nEventNotes.NotesEntry Field Name Type Description key int64 value EventNote EventNotesConfig EventNotesConfig configures the notes of an event\nNOTE: notes is required when used as an argument to Set.\nField Name Type Description notes EventNotesConfig.NotesEntry[\u0026hellip;] notes is keyed by desired note time in Unix time, in milliseconds\nEventNotesConfig.NotesEntry Field Name Type Description key int64 value EventNoteConfig EventRead EventRead contains read information of an event\nField Name Type Description read google.protobuf.BoolValue read is the read state of an event\nreader google.protobuf.StringValue reader is the user that read the event\nread_time google.protobuf.Timestamp read_time is the time of read\nUserEventCreationConfig UserEventCreationConfig is the basis for the manual creation of new events.\nNOTE: Set is the only valid operation. Objects are immediately deleted upon event creation. All fields are required to create a well-formed event.\nField Name Type Description key UserEventCreationKey key is the event instance identifier\nseverity EventSeverity severity is the severity of the event\ntitle google.protobuf.StringValue title is the title of the event\ndescription google.protobuf.StringValue description is the description of the event\nrule_id google.protobuf.StringValue rule_id is the label of the rule associated with the event\ncomponents EventComponents components is the components on which the event occurred\nstart_time google.protobuf.Timestamp start_time is the time point at which the event occurred\nUserEventCreationKey UserEventCreationKey uniquely identifies a user event request.\nField Name Type Description key google.protobuf.StringValue key is a unique string identifier\nComponentType ComponentType describes the type of entity on which the event occurred\nName Number Description COMPONENT_TYPE_UNSPECIFIED 0 COMPONENT_TYPE_UNSPECIFIED is the default value, if the type is not specified.\nCOMPONENT_TYPE_DEVICE 1 COMPONENT_TYPE_DEVICE is used for device events.\nCOMPONENT_TYPE_INTERFACE 2 COMPONENT_TYPE_INTERFACE is used for device interface events.\nCOMPONENT_TYPE_TURBINE 3 COMPONENT_TYPE_TURBINE is used for events on the internal CVP turbine\ncomponents. A turbine is an internal CV streaming analytics backend process.\nCOMPONENT_TYPE_VDS 4 COMPONENT_TYPE_VDS is used for VDS events.\nA vSphere Distributed Switch provides centralized management and\nmonitoring of the networking configuration of all workload servers that are\nassociated with the switch.\nCOMPONENT_TYPE_VDS_INTERFACE 5 COMPONENT_TYPE_VDS_INTERFACE is used for VDS interface events.\nCOMPONENT_TYPE_VM 6 COMPONENT_TYPE_VM is used for VM events.\nA VM is a software computer that, like a physical computer, runs an\noperating system and applications.\nCOMPONENT_TYPE_VM_INTERFACE 7 COMPONENT_TYPE_VM_INTERFACE is used for VM interface events.\nCOMPONENT_TYPE_WORKLOAD_SERVER 8 COMPONENT_TYPE_WORKLOAD_SERVER is used for workload server events.\nA workload server is a server/data storage device on which the hypervisor is installed.\nCOMPONENT_TYPE_WORKLOAD_SERVER_INTERFACE 9 COMPONENT_TYPE_WORKLOAD_SERVER_INTERFACE is used for workload server interface events.\nCOMPONENT_TYPE_APPLICATION 10 COMPONENT_TYPE_APPLICATION is used for application-service events.\nCOMPONENT_TYPE_CVP_NODE 11 COMPONENT_TYPE_CVP_NODE is used for CVP node events.\nEventSeverity EventSeverity is the severity level of the event\nName Number Description EVENT_SEVERITY_UNSPECIFIED 0 EVENT_SEVERITY_UNSPECIFIED is the default value, if the severity is not specified.\nEVENT_SEVERITY_INFO 1 EVENT_SEVERITY_INFO is used for generally useful information.\nEVENT_SEVERITY_WARNING 2 EVENT_SEVERITY_WARNING is used for potentially harmful conditions.\nEVENT_SEVERITY_ERROR 3 EVENT_SEVERITY_ERROR is used for errors events that may allow for continued functioning.\nEVENT_SEVERITY_CRITICAL 4 EVENT_SEVERITY_CRITICAL is used to designate severe errors that impede functioning.\nEVENT_SEVERITY_DEBUG 5 EVENT_SEVERITY_DEBUG is used for debugging useful information.\nTop\narista/event.v1/services.gen.proto EventAnnotationConfigDeleteAllRequest Field Name Type Description partial_eq_filter EventAnnotationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nEventAnnotationConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey EventKey This is the key of the EventAnnotationConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nEventAnnotationConfigDeleteRequest Field Name Type Description key EventKey Key indicates which EventAnnotationConfig instance to remove.\nThis field must always be set.\nEventAnnotationConfigDeleteResponse Field Name Type Description key EventKey Key echoes back the key of the deleted EventAnnotationConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nEventAnnotationConfigDeleteSomeRequest Field Name Type Description keys EventKey[\u0026hellip;] key contains a list of EventAnnotationConfig keys to delete\nEventAnnotationConfigDeleteSomeResponse EventAnnotationConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key EventKey error string EventAnnotationConfigRequest Field Name Type Description key EventKey Key uniquely identifies a EventAnnotationConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventAnnotationConfigResponse Field Name Type Description value EventAnnotationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nEventAnnotationConfig instance in this response.\nEventAnnotationConfigSetRequest Field Name Type Description value EventAnnotationConfig EventAnnotationConfig carries the value to set into the datastore.\nSee the documentation on the EventAnnotationConfig struct for which fields are required.\nEventAnnotationConfigSetResponse Field Name Type Description value EventAnnotationConfig Value carries all the values given in the EventAnnotationConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nEventAnnotationConfigSetSomeRequest Field Name Type Description values EventAnnotationConfig[\u0026hellip;] value contains a list of EventAnnotationConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nEventAnnotationConfigSetSomeResponse Field Name Type Description key EventKey error string EventAnnotationConfigSomeRequest Field Name Type Description keys EventKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventAnnotationConfigSomeResponse Field Name Type Description value EventAnnotationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp EventAnnotationConfigStreamRequest Field Name Type Description partial_eq_filter EventAnnotationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each EventAnnotationConfig at end.\n* Each EventAnnotationConfig response is fully-specified (all fields set).\n* start: Returns the state of each EventAnnotationConfig at start, followed by updates until now.\n* Each EventAnnotationConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each EventAnnotationConfig at start, followed by updates\nuntil end.\n* Each EventAnnotationConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nEventAnnotationConfigStreamResponse Field Name Type Description value EventAnnotationConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this EventAnnotationConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the EventAnnotationConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nEventRequest Field Name Type Description key EventKey Key uniquely identifies a Event instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventResponse Field Name Type Description value Event Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nEvent instance in this response.\nEventSomeRequest Field Name Type Description keys EventKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventSomeResponse Field Name Type Description value Event Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp EventStreamRequest Field Name Type Description partial_eq_filter Event[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Event at end.\n* Each Event response is fully-specified (all fields set).\n* start: Returns the state of each Event at start, followed by updates until now.\n* Each Event response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Event at start, followed by updates\nuntil end.\n* Each Event response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nEventStreamResponse Field Name Type Description value Event Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Event\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Event value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nUserEventCreationConfigDeleteAllRequest Field Name Type Description partial_eq_filter UserEventCreationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nUserEventCreationConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey UserEventCreationKey This is the key of the UserEventCreationConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nUserEventCreationConfigDeleteRequest Field Name Type Description key UserEventCreationKey Key indicates which UserEventCreationConfig instance to remove.\nThis field must always be set.\nUserEventCreationConfigDeleteResponse Field Name Type Description key UserEventCreationKey Key echoes back the key of the deleted UserEventCreationConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nUserEventCreationConfigDeleteSomeRequest Field Name Type Description keys UserEventCreationKey[\u0026hellip;] key contains a list of UserEventCreationConfig keys to delete\nUserEventCreationConfigDeleteSomeResponse UserEventCreationConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key UserEventCreationKey error string UserEventCreationConfigRequest Field Name Type Description key UserEventCreationKey Key uniquely identifies a UserEventCreationConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nUserEventCreationConfigResponse Field Name Type Description value UserEventCreationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nUserEventCreationConfig instance in this response.\nUserEventCreationConfigSetRequest Field Name Type Description value UserEventCreationConfig UserEventCreationConfig carries the value to set into the datastore.\nSee the documentation on the UserEventCreationConfig struct for which fields are required.\nUserEventCreationConfigSetResponse Field Name Type Description value UserEventCreationConfig Value carries all the values given in the UserEventCreationConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nUserEventCreationConfigSetSomeRequest Field Name Type Description values UserEventCreationConfig[\u0026hellip;] value contains a list of UserEventCreationConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nUserEventCreationConfigSetSomeResponse Field Name Type Description key UserEventCreationKey error string UserEventCreationConfigSomeRequest Field Name Type Description keys UserEventCreationKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nUserEventCreationConfigSomeResponse Field Name Type Description value UserEventCreationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp UserEventCreationConfigStreamRequest Field Name Type Description partial_eq_filter UserEventCreationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each UserEventCreationConfig at end.\n* Each UserEventCreationConfig response is fully-specified (all fields set).\n* start: Returns the state of each UserEventCreationConfig at start, followed by updates until now.\n* Each UserEventCreationConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each UserEventCreationConfig at start, followed by updates\nuntil end.\n* Each UserEventCreationConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nUserEventCreationConfigStreamResponse Field Name Type Description value UserEventCreationConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this UserEventCreationConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the UserEventCreationConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nEventAnnotationConfigService Method Name Request Type Response Type Description GetOne EventAnnotationConfigRequest EventAnnotationConfigResponse GetSome EventAnnotationConfigSomeRequest EventAnnotationConfigSomeResponse stream GetAll EventAnnotationConfigStreamRequest EventAnnotationConfigStreamResponse stream Subscribe EventAnnotationConfigStreamRequest EventAnnotationConfigStreamResponse stream GetMeta EventAnnotationConfigStreamRequest MetaResponse SubscribeMeta EventAnnotationConfigStreamRequest MetaResponse stream Set EventAnnotationConfigSetRequest EventAnnotationConfigSetResponse SetSome EventAnnotationConfigSetSomeRequest EventAnnotationConfigSetSomeResponse stream Delete EventAnnotationConfigDeleteRequest EventAnnotationConfigDeleteResponse DeleteSome EventAnnotationConfigDeleteSomeRequest EventAnnotationConfigDeleteSomeResponse stream DeleteAll EventAnnotationConfigDeleteAllRequest EventAnnotationConfigDeleteAllResponse stream EventService Method Name Request Type Response Type Description GetOne EventRequest EventResponse GetSome EventSomeRequest EventSomeResponse stream GetAll EventStreamRequest EventStreamResponse stream Subscribe EventStreamRequest EventStreamResponse stream GetMeta EventStreamRequest MetaResponse SubscribeMeta EventStreamRequest MetaResponse stream UserEventCreationConfigService Method Name Request Type Response Type Description GetOne UserEventCreationConfigRequest UserEventCreationConfigResponse GetSome UserEventCreationConfigSomeRequest UserEventCreationConfigSomeResponse stream GetAll UserEventCreationConfigStreamRequest UserEventCreationConfigStreamResponse stream Subscribe UserEventCreationConfigStreamRequest UserEventCreationConfigStreamResponse stream GetMeta UserEventCreationConfigStreamRequest MetaResponse SubscribeMeta UserEventCreationConfigStreamRequest MetaResponse stream Set UserEventCreationConfigSetRequest UserEventCreationConfigSetResponse SetSome UserEventCreationConfigSetSomeRequest UserEventCreationConfigSetSomeResponse stream Delete UserEventCreationConfigDeleteRequest UserEventCreationConfigDeleteResponse DeleteSome UserEventCreationConfigDeleteSomeRequest UserEventCreationConfigDeleteSomeResponse stream DeleteAll UserEventCreationConfigDeleteAllRequest UserEventCreationConfigDeleteAllResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/identityprovider.v1/","title":"identityprovider.v1","tags":[],"description":"","content":" arista/identityprovider.v1/identityprovider.proto\nOAuthConfig\nOAuthKey\nSAMLConfig\nSAMLKey\nProtocolBinding\narista/identityprovider.v1/services.gen.proto\nMetaResponse\nOAuthConfigBatchedStreamRequest\nOAuthConfigBatchedStreamResponse\nOAuthConfigDeleteAllRequest\nOAuthConfigDeleteAllResponse\nOAuthConfigDeleteRequest\nOAuthConfigDeleteResponse\nOAuthConfigDeleteSomeRequest\nOAuthConfigDeleteSomeResponse\nOAuthConfigRequest\nOAuthConfigResponse\nOAuthConfigSetRequest\nOAuthConfigSetResponse\nOAuthConfigSetSomeRequest\nOAuthConfigSetSomeResponse\nOAuthConfigSomeRequest\nOAuthConfigSomeResponse\nOAuthConfigStreamRequest\nOAuthConfigStreamResponse\nSAMLConfigBatchedStreamRequest\nSAMLConfigBatchedStreamResponse\nSAMLConfigDeleteAllRequest\nSAMLConfigDeleteAllResponse\nSAMLConfigDeleteRequest\nSAMLConfigDeleteResponse\nSAMLConfigDeleteSomeRequest\nSAMLConfigDeleteSomeResponse\nSAMLConfigRequest\nSAMLConfigResponse\nSAMLConfigSetRequest\nSAMLConfigSetResponse\nSAMLConfigSetSomeRequest\nSAMLConfigSetSomeResponse\nSAMLConfigSomeRequest\nSAMLConfigSomeResponse\nSAMLConfigStreamRequest\nSAMLConfigStreamResponse\nOAuthConfigService\nSAMLConfigService\nTop\narista/identityprovider.v1/identityprovider.proto OAuthConfig OAuthConfig holds the configuration for an OAuth provider.\nField Name Type Description key OAuthKey key is the ID of the OAuth provider.\nendpoint google.protobuf.StringValue endpoint is the URL that identifies an OAuth authorization server.\nThis endpoint is used to interact with the provider. It must be a\nURI [RFC3986] with a scheme component that must be https, a host component,\nand optionally, port and path components, but no query or fragment components.\nclient_id google.protobuf.StringValue client_id is the ID that the OAuth authorization server issues to the\nregistered client.\nclient_secret google.protobuf.StringValue client_secret is the secret that the OAuth authorization server issues\nto the registered client.\nalgorithms fmp.RepeatedString algorithms is the set of signing algorithms. This is an optional field.\nIf specified, only this set of algorithms may be used to sign the JWT.\nOtherwise, this defaults to the set of algorithms that the provider supports.\nlink_to_shared_provider google.protobuf.BoolValue link_to_shared_provider indicates whether or not use the provider as a shared\nprovider. This is an optional field and set to false by default.\njwks_uri google.protobuf.StringValue jwks_uri is where signing keys are downloaded. This is an optional field.\nOnly needed if the default construction from endpoint would be incorrect.\npermitted_email_domains fmp.RepeatedString permitted_email_domains are domains of emails that users are allowed to use.\nThis is an optional field. If not set, all domains are accepted by default.\nroles_scope_name google.protobuf.StringValue roles_scope_name is the name for a scope tied to a claim that holds\nCloudVision roles in ID Token. CloudVision uses scope values to specify\nwhat access privileges are being requested for id token. CloudVision\nappends this value to scope query parameter in the authorization request URL.\nThis is an optional field. If not set, CloudVision determines that\nmapping roles from the provider is disabled. If it\u0026rsquo;s set, roles_claim_name\nalso needs to be set.\nbearer_token_introspection_endpoint google.protobuf.StringValue bearer_token_introspection_endpoint is the provider instrospection endpoint used\nin Bearer Token based login support for CloudVision. This is an optional field.\nIf specified, this endpoint will be used to verify bearer tokens generated via\nthe provider to log in automated user accounts.\nroles_claim_name google.protobuf.StringValue roles_claim_name is the name for a claim that holds CloudVision roles in ID Token.\nCloudVision uses this value to look up roles in the ID Token.\nThis is an optional field. If not set, CloudVision determines that\nmapping roles from the provider is disabled. If it\u0026rsquo;s set, roles_scope_name\nalso needs to be set.\nOAuthKey OAuthKey contains OAuth provider ID.\nField Name Type Description provider_id google.protobuf.StringValue provider_id is the ID of the OAuth provider.\nSAMLConfig SAMLConfig holds the configuration for a SAML provider.\nField Name Type Description key SAMLKey key is the ID of the SAML provider.\nidp_issuer google.protobuf.StringValue idp_issuer identifies the SAML provider. There is no restriction on its format\nother than a string to carry the issuer\u0026rsquo;s name.\nidp_metadata_url google.protobuf.StringValue idp_metadata_url is the URL that CloudVision uses to fetch the\nSAML provider metadata.\nauthreq_binding ProtocolBinding authreq_binding specifies the ProtocolBinding used to send SAML authentication\nrequest to the SAML provider.\nemail_attrname google.protobuf.StringValue email_attrname specifies the Attribute name for email ID in Assertion of SAMLResponse\nfrom the SAML provider.\nlink_to_shared_provider google.protobuf.BoolValue link_to_shared_provider indicates whether or not use the provider as a shared\nprovider. This is an optional field and set to false by default.\npermitted_email_domains fmp.RepeatedString permitted_email_domains are domains of emails that users are allowed to use.\nThis is an optional field. If not set, all domains are accepted by default.\nforce_saml_authn google.protobuf.BoolValue force_saml_authn indicates wether or not enable force authentication in SAML login.\nThis is an optional field. If not set, it defaults to false.\nroles_attrname google.protobuf.StringValue roles_attrname specifies the Attribute name for CloudVision roles in the Assertion\nof SAMLResponse. This is an optional field. If not set, CloudVision determines that\nmapping roles from the provider is disabled.\norg_attrname google.protobuf.StringValue org_attrname specifies the Attribute name for CloudVision organization/tenant in\nthe Assertion of SAMLResponse. This is an optional field. CloudVision supports use\nof certain shared SAML Identity Providers for authenticating users across multiple\nCloudVision organizations/tenants. In case a given organization uses a shared provider,\nthen, CloudVision needs this attribute to determine if the organization that\nthe shared SAML Identity Provider is sending the assertion for is the same as the\none the user requested to be logged into. For an existing user on CloudVision,\nthe user\u0026rsquo;s email is used to determine which organization the user belongs to do\nthe same verification but in case a dynamic user creation is needed and the given\nuser doesn\u0026rsquo;t exist on CloudVision currently then the matching organization attribute\nfrom the shared Identity Privder becomes necessary. Dynamic user creation is\ndisabled for a given organization using shared Identity Provider if this attribute\nis not specified.\nusername_attrname google.protobuf.StringValue username_attrname specifies Attribute name for CloudVision users\u0026rsquo; username in the\nAssertion of SAMLResponse. This is an optional field as long as mapping roles from\nprovider is not enabled. Once enabled, this field becomes mandatory.\nSAMLKey SAMLKey contains SAML Provider ID.\nField Name Type Description provider_id google.protobuf.StringValue provider_id is the ID of the SAML provider.\nProtocolBinding ProtocolBinding indicates SAML protocol binding to be used.\nName Number Description PROTOCOL_BINDING_UNSPECIFIED 0 PROTOCOL_BINDING_UNSPECIFIED indicates that a protocol binding is unspecified.\nPROTOCOL_BINDING_HTTP_POST 1 PROTOCOL_BINDING_HTTP_POST indicates HTTP-POST SAML protocol binding.\nPROTOCOL_BINDING_HTTP_REDIRECT 2 PROTOCOL_BINDING_HTTP_REDIRECT indicates HTTP-Redirect SAML protocol binding.\nTop\narista/identityprovider.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nOAuthConfigBatchedStreamRequest Field Name Type Description partial_eq_filter OAuthConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each OAuthConfig at end.\n* Each OAuthConfig response is fully-specified (all fields set).\n* start: Returns the state of each OAuthConfig at start, followed by updates until now.\n* Each OAuthConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each OAuthConfig at start, followed by updates\nuntil end.\n* Each OAuthConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nOAuthConfigBatchedStreamResponse Field Name Type Description responses OAuthConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nOAuthConfigDeleteAllRequest Field Name Type Description partial_eq_filter OAuthConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nOAuthConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey OAuthKey This is the key of the OAuthConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nOAuthConfigDeleteRequest Field Name Type Description key OAuthKey Key indicates which OAuthConfig instance to remove.\nThis field must always be set.\nOAuthConfigDeleteResponse Field Name Type Description key OAuthKey Key echoes back the key of the deleted OAuthConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nOAuthConfigDeleteSomeRequest Field Name Type Description keys OAuthKey[\u0026hellip;] key contains a list of OAuthConfig keys to delete\nOAuthConfigDeleteSomeResponse OAuthConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key OAuthKey error string OAuthConfigRequest Field Name Type Description key OAuthKey Key uniquely identifies a OAuthConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nOAuthConfigResponse Field Name Type Description value OAuthConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nOAuthConfig instance in this response.\nOAuthConfigSetRequest Field Name Type Description value OAuthConfig OAuthConfig carries the value to set into the datastore.\nSee the documentation on the OAuthConfig struct for which fields are required.\nOAuthConfigSetResponse Field Name Type Description value OAuthConfig Value carries all the values given in the OAuthConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nOAuthConfigSetSomeRequest Field Name Type Description values OAuthConfig[\u0026hellip;] value contains a list of OAuthConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nOAuthConfigSetSomeResponse Field Name Type Description key OAuthKey error string OAuthConfigSomeRequest Field Name Type Description keys OAuthKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nOAuthConfigSomeResponse Field Name Type Description value OAuthConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp OAuthConfigStreamRequest Field Name Type Description partial_eq_filter OAuthConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each OAuthConfig at end.\n* Each OAuthConfig response is fully-specified (all fields set).\n* start: Returns the state of each OAuthConfig at start, followed by updates until now.\n* Each OAuthConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each OAuthConfig at start, followed by updates\nuntil end.\n* Each OAuthConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nOAuthConfigStreamResponse Field Name Type Description value OAuthConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this OAuthConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the OAuthConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSAMLConfigBatchedStreamRequest Field Name Type Description partial_eq_filter SAMLConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SAMLConfig at end.\n* Each SAMLConfig response is fully-specified (all fields set).\n* start: Returns the state of each SAMLConfig at start, followed by updates until now.\n* Each SAMLConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SAMLConfig at start, followed by updates\nuntil end.\n* Each SAMLConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSAMLConfigBatchedStreamResponse Field Name Type Description responses SAMLConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSAMLConfigDeleteAllRequest Field Name Type Description partial_eq_filter SAMLConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nSAMLConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey SAMLKey This is the key of the SAMLConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nSAMLConfigDeleteRequest Field Name Type Description key SAMLKey Key indicates which SAMLConfig instance to remove.\nThis field must always be set.\nSAMLConfigDeleteResponse Field Name Type Description key SAMLKey Key echoes back the key of the deleted SAMLConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nSAMLConfigDeleteSomeRequest Field Name Type Description keys SAMLKey[\u0026hellip;] key contains a list of SAMLConfig keys to delete\nSAMLConfigDeleteSomeResponse SAMLConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key SAMLKey error string SAMLConfigRequest Field Name Type Description key SAMLKey Key uniquely identifies a SAMLConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSAMLConfigResponse Field Name Type Description value SAMLConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSAMLConfig instance in this response.\nSAMLConfigSetRequest Field Name Type Description value SAMLConfig SAMLConfig carries the value to set into the datastore.\nSee the documentation on the SAMLConfig struct for which fields are required.\nSAMLConfigSetResponse Field Name Type Description value SAMLConfig Value carries all the values given in the SAMLConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nSAMLConfigSetSomeRequest Field Name Type Description values SAMLConfig[\u0026hellip;] value contains a list of SAMLConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nSAMLConfigSetSomeResponse Field Name Type Description key SAMLKey error string SAMLConfigSomeRequest Field Name Type Description keys SAMLKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSAMLConfigSomeResponse Field Name Type Description value SAMLConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SAMLConfigStreamRequest Field Name Type Description partial_eq_filter SAMLConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SAMLConfig at end.\n* Each SAMLConfig response is fully-specified (all fields set).\n* start: Returns the state of each SAMLConfig at start, followed by updates until now.\n* Each SAMLConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SAMLConfig at start, followed by updates\nuntil end.\n* Each SAMLConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSAMLConfigStreamResponse Field Name Type Description value SAMLConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SAMLConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SAMLConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nOAuthConfigService Method Name Request Type Response Type Description GetOne OAuthConfigRequest OAuthConfigResponse GetSome OAuthConfigSomeRequest OAuthConfigSomeResponse stream GetAll OAuthConfigStreamRequest OAuthConfigStreamResponse stream Subscribe OAuthConfigStreamRequest OAuthConfigStreamResponse stream GetMeta OAuthConfigStreamRequest MetaResponse SubscribeMeta OAuthConfigStreamRequest MetaResponse stream Set OAuthConfigSetRequest OAuthConfigSetResponse SetSome OAuthConfigSetSomeRequest OAuthConfigSetSomeResponse stream Delete OAuthConfigDeleteRequest OAuthConfigDeleteResponse DeleteSome OAuthConfigDeleteSomeRequest OAuthConfigDeleteSomeResponse stream DeleteAll OAuthConfigDeleteAllRequest OAuthConfigDeleteAllResponse stream GetAllBatched OAuthConfigBatchedStreamRequest OAuthConfigBatchedStreamResponse stream SubscribeBatched OAuthConfigBatchedStreamRequest OAuthConfigBatchedStreamResponse stream SAMLConfigService Method Name Request Type Response Type Description GetOne SAMLConfigRequest SAMLConfigResponse GetSome SAMLConfigSomeRequest SAMLConfigSomeResponse stream GetAll SAMLConfigStreamRequest SAMLConfigStreamResponse stream Subscribe SAMLConfigStreamRequest SAMLConfigStreamResponse stream GetMeta SAMLConfigStreamRequest MetaResponse SubscribeMeta SAMLConfigStreamRequest MetaResponse stream Set SAMLConfigSetRequest SAMLConfigSetResponse SetSome SAMLConfigSetSomeRequest SAMLConfigSetSomeResponse stream Delete SAMLConfigDeleteRequest SAMLConfigDeleteResponse DeleteSome SAMLConfigDeleteSomeRequest SAMLConfigDeleteSomeResponse stream DeleteAll SAMLConfigDeleteAllRequest SAMLConfigDeleteAllResponse stream GetAllBatched SAMLConfigBatchedStreamRequest SAMLConfigBatchedStreamResponse stream SubscribeBatched SAMLConfigBatchedStreamRequest SAMLConfigBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/imagestatus.v1/","title":"imagestatus.v1","tags":[],"description":"","content":" arista/imagestatus.v1/imagestatus.proto\nComplianceStatus\nComplianceStatusBySup\nComplianceStatusBySup.ValuesEntry\nExtension\nExtensionDiff\nExtensionDiffs\nExtensionDiffsBySup\nExtensionDiffsBySup.ValuesEntry\nExtensions\nImageError\nImageErrors\nImageMetadata\nImageSummary\nImageWarning\nImageWarnings\nRebootRequired\nSoftwareImage\nSoftwareImageDiff\nSoftwareImageDiffsBySup\nSoftwareImageDiffsBySup.ValuesEntry\nSummary\nSummaryKey\nTerminAttrDiffsBySup\nTerminAttrDiffsBySup.ValuesEntry\nDiffOp\nErrorCode\nExtensionInstallStatus\nSoftwareComplianceCode\nWarningCode\narista/imagestatus.v1/services.gen.proto\nMetaResponse\nSummaryBatchedStreamRequest\nSummaryBatchedStreamResponse\nSummaryRequest\nSummaryResponse\nSummarySomeRequest\nSummarySomeResponse\nSummaryStreamRequest\nSummaryStreamResponse\nSummaryService\nTop\narista/imagestatus.v1/imagestatus.proto ComplianceStatus ComplianceStatus indicates compliance status for software image, terminattr and extensions.\nField Name Type Description software_image_compliance_code SoftwareComplianceCode software_image_compliance_code is the compliance code for images.\nterminattr_compliance_code SoftwareComplianceCode terminattr_compliance_code is the compliance code for TerminAttr.\nextensions_compliance_code SoftwareComplianceCode extensions_compliance_code is the compliance code for extensions.\nComplianceStatusBySup ComplianceStatusBySup is a map that indicates the compliance code for each supervisor.\nField Name Type Description values ComplianceStatusBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to compliance code.\nComplianceStatusBySup.ValuesEntry Field Name Type Description key string value ComplianceStatus Extension Extension provides information of the running/designed extensions.\nField Name Type Description name google.protobuf.StringValue name is the name of the extension.\nversion google.protobuf.StringValue version is the version of the extension.\nreboot_required google.protobuf.BoolValue reboot_required indicates whether applying/deleting this extension\nwould result in a reboot.\npresent google.protobuf.BoolValue present indicates whether the extension is present in the device\nor not.\ninstalled ExtensionInstallStatus installed indicates whether the extension is installed, not\ninstalled or force installed.\nstatus_detail google.protobuf.StringValue status_detail gives the details behind installation of the extension.\nis_embedded google.protobuf.BoolValue is_embedded indicates whether the extension is embedded in the EOS swi\nor not.\nExtensionDiff ExtensionDiff is the diff for the running/designed extensions.\nField Name Type Description code DiffOp code indicates the operation performed to get from one side of the diff\nto the other.\na Extension a is the extension on the a side (left hand side).\nb Extension b is the extension on the b side (right hand side).\nExtensionDiffs ExtensionDiffs is a list of extension diff information in the order they will be applied.\nField Name Type Description values ExtensionDiff[\u0026hellip;] values is an ordered list of extension diffs applied to the device.\nExtensionDiffsBySup ExtensionDiffsBySup is the extension diff information for each supervisor.\nField Name Type Description values ExtensionDiffsBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to extension diff.\nExtensionDiffsBySup.ValuesEntry Field Name Type Description key string value ExtensionDiffs Extensions Extensions provides an ordered list of running/designed extensions.\nField Name Type Description values Extension[\u0026hellip;] values represents extension information.\nImageError ImageError wraps ErrorCode enum with a reason string.\nField Name Type Description sku google.protobuf.StringValue sku represents the name of the sku.\nerror_code ErrorCode error_code is the error code.\nerror_msg google.protobuf.StringValue error_msg provides a description of the error.\nImageErrors ImageErrors is the list of errors reported by CVP when handling image validations.\nField Name Type Description values ImageError[\u0026hellip;] values is a list of image errors.\nImageMetadata ImageMetadata provides information regarding the software image.\nField Name Type Description version google.protobuf.StringValue version is the version of the EOS image.\nrelease google.protobuf.StringValue release is the release name of the EOS image.\nflavor google.protobuf.StringValue flavor is the flavor information of the EOS image.\ndefault flavor is DEFAULT. Other flavors can be DPE, 2GB, etc.\nvariant google.protobuf.StringValue variant is the variant information of the EOS image.\npossible values: INT or US.\narch google.protobuf.StringValue arch is the architecture of the EOS image.\nImageSummary ImageSummary represents device image summary.\nField Name Type Description sku google.protobuf.StringValue sku indicates the top-level sku or model number.\nrunning_image_update_time google.protobuf.Timestamp running_image_update_time is the most recent timestamp at which one of\nrunning image side properties is updated.\ndesigned_image_update_time google.protobuf.Timestamp designed_image_update_time is the most recent timestamp at which one of\ndesigned image side properties is updated.\ndual_sup google.protobuf.BoolValue dual_sup indicates if a device is a dual supervisor.\nactive_slot google.protobuf.Int32Value active_slot indicates the physical slot number for the the active\nsupervisor.\nstandby_slot google.protobuf.Int32Value standby_slot indicates the physical slot number for the standby\nsupervisor.\nsoftware_image_diff SoftwareImageDiffsBySup software_image_diff indicates the image diff for each supervisor.\nterminattr_diff TerminAttrDiffsBySup terminattr_diff indicates the terminattr diff for each supervisor.\nextensions_diff ExtensionDiffsBySup extensions_diff indicates the extension diff for each supervisor.\ncompliance_status SoftwareComplianceCode compliance_status is the aggregated compliance status (including both\nactive/standby and image/TA/extension compliance).\ncompliance ComplianceStatusBySup compliance provides compliance information for each supervisor.\nreboot_required RebootRequired reboot_required indicates whether a reboot is required if the designed\nimage is pushed to the device.\ndigest google.protobuf.StringValue digest is the digest of the image summary. It can use SHA-256 hash\nalgorithm for example. It is computed by stringifying the\nsoftware_image_diff, terminattr_diff and extensions_diff and computing the\nhash.\nImageWarning ImageWarning wraps WarningCode enum with a reason string.\nField Name Type Description sku google.protobuf.StringValue sku represents the name of the sku.\nwarning_code WarningCode warning_code is the warning code.\nwarning_msg google.protobuf.StringValue warning_msg provides a description of the warning.\nImageWarnings ImageWarnings is the list of warnings reported by CVP when handling image validations.\nField Name Type Description values ImageWarning[\u0026hellip;] values is a list of image warnings.\nRebootRequired RebootRequired indicates the reboot information per software image, terminattr and extension for the switch as a whole.\nField Name Type Description software_image_reboot_required google.protobuf.BoolValue software_image_reboot_required indicates whether reboot is required\nfor the software image being applied.\nterminattr_reboot_required google.protobuf.BoolValue terminattr_reboot_required indicates whether reboot is required\nfor the terminattr being applied/deleted.\nextension_reboot_required google.protobuf.BoolValue extension_reboot_required indicates whether reboot is required\nfor the extensions being applied/deleted.\nSoftwareImage SoftwareImage provides information of the running/designed EOS image.\nField Name Type Description name google.protobuf.StringValue name is the name of the EOS image.\nversion google.protobuf.StringValue version is the version of the EOS image.\nmetadata ImageMetadata metadata is the metadata of EOS image.\nSoftwareImageDiff SoftwareImageDiff is the diff for the running/designed images.\nField Name Type Description code DiffOp code indicates the operation performed to get from one side of the diff\nto the other.\na SoftwareImage a is the software image on the a side (left hand side).\nb SoftwareImage b is the software image on the b side (right hand side).\nSoftwareImageDiffsBySup SoftwareImageDiffsBySup is software image diff information for each supervisor.\nField Name Type Description values SoftwareImageDiffsBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to image diff.\nSoftwareImageDiffsBySup.ValuesEntry Field Name Type Description key string value SoftwareImageDiff Summary Summary represents the device image summary.\nField Name Type Description key SummaryKey key represents the image summary key.\nsummary ImageSummary summary is the image diff summary.\nerrors ImageErrors errors are the image errors encountered while validating the image. These are\ndisplayed on the change control review page (for changes made outside the workspace).\nwarnings ImageWarnings warnings are the image warnings encountered while validating the image. These are\ndisplayed on the change control review page (for changes made outside the workspace).\nSummaryKey SummaryKey uniquely identifies a device summary request.\nField Name Type Description device_id google.protobuf.StringValue device_id is the serial number of the device\nTerminAttrDiffsBySup TerminAttrDiffsBySup is the terminattr diff information for each supervisor.\nField Name Type Description values TerminAttrDiffsBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to terminattr diff.\nTerminAttrDiffsBySup.ValuesEntry Field Name Type Description key string value ExtensionDiff DiffOp DiffOp represents the operation performed to get from one side of the diff to the other.\nName Number Description DIFF_OP_UNSPECIFIED 0 DIFF_OP_UNSPECIFIED indicates op code is unspecified.\nDIFF_OP_NOP 1 DIFF_OP_NOP indicates no change.\nDIFF_OP_ADD 2 DIFF_OP_ADD is an addition of a software.\nDIFF_OP_DELETE 3 DIFF_OP_DELETE is deletion of a software.\nDIFF_OP_CHANGE 4 DIFF_OP_CHANGE is an update to the software.\nErrorCode ErrorCode indicates errors produced during image validations.\nName Number Description ERROR_CODE_UNSPECIFIED 0 ERROR_CODE_UNSPECIFIED indicates error code is unspecified.\nERROR_CODE_SUPPORT_NOT_INTRODUCED 1 ERROR_CODE_SUPPORT_NOT_INTRODUCED represents case where the given EOS version does\nnot support the SKU.\nDeprecated - use ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED\nERROR_CODE_SUPPORT_REMOVED 2 ERROR_CODE_SUPPORT_REMOVED represents case where the given EOS version no longer\nsupports the SKU.\nDeprecated - use ERROR_CODE_EOS_SUPPORT_REMOVED\nERROR_CODE_DEVICE_UNREACHABLE 3 ERROR_CODE_DEVICE_UNREACHABLE represents the case where the device\nis unreachable during a compliance computation.\nERROR_CODE_VALIDATION_FAILED 4 ERROR_CODE_VALIDATION_FAILED represents case where the validations checks\nfailed.\nERROR_CODE_GET_PROPOSED_IMAGE_INFO_FAILED 5 ERROR_CODE_GET_PROPOSED_IMAGE_INFO_FAILED represents case where we are\nunable to get proposed image information for a device.\nERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_ACTIVE_SUPERVISOR_FAILED 6 ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_ACTIVE_SUPERVISOR_FAILED represents case where we\nfail to get running image information from an active supervisor.\nERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_PEER_SUPERVISOR_FAILED 7 ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_PEER_SUPERVISOR_FAILED represents case when we\nfail to get information from peer supervisor.\nERROR_CODE_EOS_TA_ARCHITECTURE_INCOMPATIBLE 8 ERROR_CODE_EOS_TA_ARCHITECTURE_INCOMPATIBLE represents the case where EOS architecture and\nTerminAttr architecture are incompatible.\nERROR_CODE_TA_CV_INCOMPATIBLE 9 ERROR_CODE_TA_CV_INCOMPATIBLE represents the case where TerminAttr is incompatible with\nCloudVision; i.e., the TerminAttr version is below CloudVision\u0026rsquo;s minimum supported version.\nERROR_CODE_EOS_CV_INCOMPATIBLE 10 ERROR_CODE_EOS_CV_INCOMPATIBLE represents the case where the EOS version is incompatible with\nCloudVision; i.e., the EOS version is outside of CloudVision\u0026rsquo;s supported range of versions.\nERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED 11 ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED represents the case where the given EOS version does\nnot support the SKU.\nERROR_CODE_EOS_SUPPORT_REMOVED 12 ERROR_CODE_EOS_SUPPORT_REMOVED represents the case where the given EOS version no longer\nsupports the SKU.\nERROR_CODE_PHYSICAL_DEVICE_EOS_INCOMPATIBLE 13 ERROR_CODE_PHYSICAL_DEVICE_EOS_INCOMPATIBLE represents the case where the physical device\ndoes not support the given EOS type.\nERROR_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE 14 ERROR_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents the case where the extension TerminAttr\nversion is lower than the embedded TerminAttr version in SWI.\nERROR_CODE_DEVICE_EOS_2GB_INCOMPATIBLE 15 ERROR_CODE_DEVICE_EOS_2GB_INCOMPATIBLE represents the case where a 2GB-device is incompatible\nwith a non-2GB EOS or a non-2GB device is incompatible with a 2GB-EOS.\nExtensionInstallStatus ExtensionInstallStatus indicates whether an extension is installed, not installed or force installed.\nName Number Description EXTENSION_INSTALL_STATUS_UNSPECIFIED 0 EXTENSION_INSTALL_STATUS_UNSPECIFIED indicates extensions install status is unspecified.\nEXTENSION_INSTALL_STATUS_NOT_INSTALLED 1 EXTENSION_INSTALL_STATUS_NOT_INSTALLED indicates extension is not installed on the device.\nEXTENSION_INSTALL_STATUS_INSTALLED 2 EXTENSION_INSTALL_STATUS_INSTALLED indicates extension is installed on the device.\nEXTENSION_INSTALL_STATUS_FORCE_INSTALLED 3 EXTENSION_INSTALL_STATUS_FORCE_INSTALLED indicates extension is force installed on\ndevice.\nSoftwareComplianceCode SoftwareComplianceCode indicates possible compliance status.\nName Number Description SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED 0 SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED indicates compliance code is unspecified.\nSOFTWARE_COMPLIANCE_CODE_IN_SYNC 1 SOFTWARE_COMPLIANCE_CODE_IN_SYNC indicates designed and running images/extensions\nare identical.\nSOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC 2 SOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC indicates designed and running images/extensions\nare not identical.\nWarningCode WarningCode indicates warnings produced during image validations.\nName Number Description WARNING_CODE_UNSPECIFIED 0 WARNING_CODE_UNSPECIFIED indicates warning code is unspecified.\nWARNING_CODE_NOT_APPLICABLE 1 WARNING_CODE_NOT_APPLICABLE represents cases where EOS \u0026lt;-\u0026gt; SKU/TA compatibility\nis not applicable for non physical switches like vEos.\nWARNING_CODE_SKUINFO_UNAVAILABLE 2 WARNING_CODE_SKUINFO_UNAVAILABLE represents case where\ninformation about certain skus is missing.\nWARNING_CODE_DEVICE_SKU_UNAVAILABLE 3 WARNING_CODE_DEVICE_SKU_UNAVAILABLE represents unavailability of skus for an EOS Device.\nWARNING_CODE_SWI_UNKNOWN 4 WARNING_CODE_SWI_UNKNOWN represents cases where EOS version is not found in release database.\nWARNING_CODE_TA_EOS_INCOMPATIBLE 5 WARNING_CODE_TA_EOS_INCOMPATIBLE represents cases where TA and EOS are not compatible.\nTA is lower than embedded TA in swi or given TA is unsupported by the EOS.\nWARNING_CODE_TA_CV_INCOMPATIBLE 6 WARNING_CODE_TA_CV_INCOMPATIBLE represents cases where TA is incompatible with CV.\nTA is lower than minimum supported TA on CV.\nDeprecated - use ERROR_CODE_TA_CV_INCOMPATIBLE.\nWARNING_CODE_EOS_CV_INCOMPATIBLE 7 WARNING_CODE_EOS_CV_INCOMPATIBLE represents cases where EOS is no longer or not yet\nsupported by CV. Given EOS is outside range of CV\u0026rsquo;s minimum and maximum EOS.\nDeprecated - use ERROR_CODE_EOS_CV_INCOMPATIBLE.\nWARNING_CODE_EOS_ARCH_UNKNOWN 8 WARNING_CODE_EOS_ARCH_UNKNOWN represents cases where the specified architecture is\nnot valid for EOS.\nWARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE 9 WARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents cases where TA extension is lower\nin version than embedded TA in SWI.\nWARNING_CODE_ARCH_INCOMPATIBLE 10 WARNING_CODE_ARCH_INCOMPATIBLE represents cases where EOS arch and TA arch are\ndifferent. Deprecated.\nWARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED 11 WARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED represents cases where the given EOS has passed\nits end of life date.\nWARNING_CODE_SUPPORT_NOT_INTRODUCED 12 WARNING_CODE_SUPPORT_NOT_INTRODUCED represents cases where the given EOS version does\nnot support the SKUs.\nWARNING_CODE_SUPPORT_REMOVED 13 WARNING_CODE_SUPPORT_REMOVED represents cases where the given EOS version no longer\nsupports the SKUs.\nWARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION 14 WARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION represents cases where the running\nTerminAttr version is below CloudVision\u0026rsquo;s minimum supported version.\nWARNING_CODE_TA_STUDIO_INCOMPATIBLE 15 WARNING_CODE_TA_STUDIO_INCOMPATIBLE represents cases where the TerminAttr is incompatible\nwith Software Management Studio.\nWARNING_CODE_BUGALERTS_DATA_MISSING 16 WARNING_CODE_BUGALERTS_DATA_MISSING represents cases where some of the BugAlerts data\nunder Aeris analytics dataset is missing.\nTop\narista/imagestatus.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSummaryBatchedStreamResponse Field Name Type Description responses SummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSummaryRequest Field Name Type Description key SummaryKey Key uniquely identifies a Summary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummaryResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSummary instance in this response.\nSummarySomeRequest Field Name Type Description keys SummaryKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummarySomeResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SummaryStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSummaryStreamResponse Field Name Type Description value Summary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Summary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Summary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSummaryService Method Name Request Type Response Type Description GetOne SummaryRequest SummaryResponse GetSome SummarySomeRequest SummarySomeResponse stream GetAll SummaryStreamRequest SummaryStreamResponse stream Subscribe SummaryStreamRequest SummaryStreamResponse stream GetMeta SummaryStreamRequest MetaResponse SubscribeMeta SummaryStreamRequest MetaResponse stream GetAllBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream SubscribeBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/","title":"inventory.v1","tags":[],"description":"","content":" arista/inventory.v1/inventory.proto\nDevice\nDeviceConfiguration\nDeviceConfiguration.OptionsEntry\nDeviceDecommissioning\nDeviceDecommissioningConfig\nDeviceKey\nDeviceOnboarding\nDeviceOnboardingConfig\nExtendedAttributes\nExtendedAttributes.FeatureEnabledEntry\nProvisionedDevice\nUUIDKey\nDecommissioningStatus\nOnboardingStatus\nProvisioningStatus\nStreamingStatus\narista/inventory.v1/services.gen.proto\nDeviceBatchedStreamRequest\nDeviceBatchedStreamResponse\nDeviceDecommissioningBatchedStreamRequest\nDeviceDecommissioningBatchedStreamResponse\nDeviceDecommissioningConfigBatchedStreamRequest\nDeviceDecommissioningConfigBatchedStreamResponse\nDeviceDecommissioningConfigDeleteAllRequest\nDeviceDecommissioningConfigDeleteAllResponse\nDeviceDecommissioningConfigDeleteRequest\nDeviceDecommissioningConfigDeleteResponse\nDeviceDecommissioningConfigDeleteSomeRequest\nDeviceDecommissioningConfigDeleteSomeResponse\nDeviceDecommissioningConfigRequest\nDeviceDecommissioningConfigResponse\nDeviceDecommissioningConfigSetRequest\nDeviceDecommissioningConfigSetResponse\nDeviceDecommissioningConfigSetSomeRequest\nDeviceDecommissioningConfigSetSomeResponse\nDeviceDecommissioningConfigSomeRequest\nDeviceDecommissioningConfigSomeResponse\nDeviceDecommissioningConfigStreamRequest\nDeviceDecommissioningConfigStreamResponse\nDeviceDecommissioningRequest\nDeviceDecommissioningResponse\nDeviceDecommissioningSomeRequest\nDeviceDecommissioningSomeResponse\nDeviceDecommissioningStreamRequest\nDeviceDecommissioningStreamResponse\nDeviceOnboardingBatchedStreamRequest\nDeviceOnboardingBatchedStreamResponse\nDeviceOnboardingConfigBatchedStreamRequest\nDeviceOnboardingConfigBatchedStreamResponse\nDeviceOnboardingConfigDeleteAllRequest\nDeviceOnboardingConfigDeleteAllResponse\nDeviceOnboardingConfigDeleteRequest\nDeviceOnboardingConfigDeleteResponse\nDeviceOnboardingConfigDeleteSomeRequest\nDeviceOnboardingConfigDeleteSomeResponse\nDeviceOnboardingConfigRequest\nDeviceOnboardingConfigResponse\nDeviceOnboardingConfigSetRequest\nDeviceOnboardingConfigSetResponse\nDeviceOnboardingConfigSetSomeRequest\nDeviceOnboardingConfigSetSomeResponse\nDeviceOnboardingConfigSomeRequest\nDeviceOnboardingConfigSomeResponse\nDeviceOnboardingConfigStreamRequest\nDeviceOnboardingConfigStreamResponse\nDeviceOnboardingRequest\nDeviceOnboardingResponse\nDeviceOnboardingSomeRequest\nDeviceOnboardingSomeResponse\nDeviceOnboardingStreamRequest\nDeviceOnboardingStreamResponse\nDeviceRequest\nDeviceResponse\nDeviceSomeRequest\nDeviceSomeResponse\nDeviceStreamRequest\nDeviceStreamResponse\nMetaResponse\nProvisionedDeviceBatchedStreamRequest\nProvisionedDeviceBatchedStreamResponse\nProvisionedDeviceRequest\nProvisionedDeviceResponse\nProvisionedDeviceSomeRequest\nProvisionedDeviceSomeResponse\nProvisionedDeviceStreamRequest\nProvisionedDeviceStreamResponse\nDeviceDecommissioningConfigService\nDeviceDecommissioningService\nDeviceOnboardingConfigService\nDeviceOnboardingService\nDeviceService\nProvisionedDeviceService\nTop\narista/inventory.v1/inventory.proto Device Device describes an onboarded device.\nField Name Type Description key DeviceKey key uniquely identifies the device.\nsoftware_version google.protobuf.StringValue software_version gives the currently running device software version.\nmodel_name google.protobuf.StringValue model_name describes the hardware model of this device.\nhardware_revision google.protobuf.StringValue hardware_revision describes any revisional data to the model name.\nfqdn google.protobuf.StringValue fqdn gives the device\u0026rsquo;s fully qualified domain name.\nhostname google.protobuf.StringValue hostname is the hostname as reported on the device.\ndomain_name google.protobuf.StringValue domain_name provides the domain name on which the device is registered.\nsystem_mac_address google.protobuf.StringValue system_mac_address provides the MAC address of the management port.\nboot_time google.protobuf.Timestamp boot_time indicates when the device was last booted.\nstreaming_status StreamingStatus streaming_status is the status of telemetry streaming for this device.\nextended_attributes ExtendedAttributes extended_attributes wraps any additional, potentially non-standard, features\nor attributes that the device reports.\nDeviceConfiguration DeviceConfiguration holds the device-specific configuration for a third-party device, as defined in https://github.com/aristanetworks/cloudvision-go.\nField Name Type Description options DeviceConfiguration.OptionsEntry[\u0026hellip;] options is a map from device option to value.\nE.g., for an SNMP device, this could be the following:\n\u0026ldquo;address\u0026rdquo;: \u0026ldquo;my_snmp_hostname\u0026rdquo;,\n\u0026ldquo;community\u0026rdquo;: \u0026ldquo;public\u0026rdquo;\nDeviceConfiguration.OptionsEntry Field Name Type Description key string value string DeviceDecommissioning DeviceOnboarding describes the status of a decommissioning process.\nField Name Type Description key UUIDKey key identifies the request for which to retrieve a decommissioning status.\nstatus DecommissioningStatus status describes the decommissioning status of the device.\nerror google.protobuf.StringValue error is the error that caused status to become DECOMMISSIONING_STATUS_FAILURE.\nstatus_message google.protobuf.StringValue status_message contains information on the status of the decommissioning attempt,\nif any. This is generally an unstructured log message that is for display\npurposes only (its structure and contents may change).\nDeviceDecommissioningConfig DeviceDecommissioningConfig describes a device decommissioning request. \u0026ldquo;Decommissioning\u0026rdquo; refers to the process of stopping device streaming to CloudVision and removing it from CloudVision\u0026rsquo;s inventory.\nThe request flow works as follows:\nSet on DeviceDecommissioningConfig sends a decommissioning request with a UUID that the user is responsible for generating. Once the server receives the request, it validates and records it. Then, the server processes it, initiating the decommissioning procedure and tracking the status of the decommissioning attempt. The user may do a GetOne or Subscribe on DeviceDecommissioning using the same UUID to see the status of the request. Field Name Type Description key UUIDKey key identifies the request to decommission the device.\ndevice_id google.protobuf.StringValue device_id is the unique device ID that was discovered via onboarding.\nforce google.protobuf.BoolValue force is a flag that indicates if the decommission is to be forced.\nNormally, if there are pending or in-progress tasks associated with the device\nthe decommission would fail. In case of a forced decommission, such blocking\ntasks would be ignored and decommissioning will be continued.\nDeviceKey DeviceKey uniquely identifies a single device.\nField Name Type Description device_id google.protobuf.StringValue device_id is the unique identifier of the device.\nDeviceOnboarding DeviceOnboarding describes the status of an onboarding process.\nField Name Type Description key UUIDKey key identifies the request for which to retrieve an onboarding status.\ndevice_id google.protobuf.StringValue device_id is the unique device ID that is discovered via onboarding.\nstatus OnboardingStatus status describes the onboarding status of the device.\nerror google.protobuf.StringValue error is the error that caused status to become ONBOARDING_STATUS_FAILURE.\nstatus_message google.protobuf.StringValue status_message contains information on the status of the onboarding attempt,\nif any. This is generally an unstructured log message that is for display\npurposes only (its structure and contents may change).\nDeviceOnboardingConfig DeviceOnboardingConfig describes a device onboarding request. \u0026ldquo;Onboarding\u0026rdquo; refers to the process of initiating device streaming to CloudVision and adding the streaming device to CloudVision\u0026rsquo;s inventory.\nThe request flow works as follows:\nSet on DeviceOnboardingConfig sends an onboarding request with a UUID that the user is responsible for generating. Once the server receives the request, it validates and records it. Then, the server processes it, initiating the onboarding procedure and tracking the status of the onboarding attempt. The user may do a GetOne or Subscribe on DeviceOnboarding using the same UUID to see the status of the request. Field Name Type Description key UUIDKey key identifies the request to onboard the device at hostname_or_ip.\nhostname_or_ip google.protobuf.StringValue hostname_or_ip is a hostname or an IP at which the device can be reached.\ndevice_type google.protobuf.StringValue device_type describes the method by which to retrieve information for the\ndevice. The value should be \u0026ldquo;eos\u0026rdquo; for eos devices. For third-party devices,\nsupported values are: \u0026ldquo;openconfig\u0026rdquo;, \u0026ldquo;snmp\u0026rdquo;, \u0026ldquo;cvp\u0026rdquo;, \u0026ldquo;mwm\u0026rdquo;, and \u0026ldquo;vCenter\u0026rdquo;.\ndevice_config DeviceConfiguration device_config is the configuration for a third-party device.\nExtendedAttributes ExtendedAttributes wraps any additional, potentially non-standard, features or attributes the device reports.\nField Name Type Description feature_enabled ExtendedAttributes.FeatureEnabledEntry[\u0026hellip;] feature_enabled is a map of feature name to enabled status.\nIf a feature is missing from this map it can be assumed off.\nExtendedAttributes.FeatureEnabledEntry Field Name Type Description key string value bool ProvisionedDevice ProvisionedDevice describes the provisioning status of an onboarded device if the onboarded device is configured for provisioning.\nField Name Type Description key DeviceKey key uniquely identifies the device.\nstatus ProvisioningStatus status describes the onboarded device\u0026rsquo;s provisioning status.\nerror google.protobuf.StringValue error is the error that caused status to become PROVISIONING_STATUS_FAILURE.\nztp_mode google.protobuf.BoolValue ztp_mode indicates whether the device is in ZTP mode.\nip_address fmp.IPAddress ip_address is the current (post-provisioning) IP address of the device.\nprovisioning_group_name google.protobuf.StringValue provisioning_group_name is the name of the group (also known as a container)\nto which the device belongs. Any provisioning operation performed on this\ngroup will also be performed on this device. If the device is not yet provisioned,\nthis will not be set. Once it is provisioned, this will be set to \u0026ldquo;undefined_container\u0026rdquo;\nwhich indicates that the device does not yet belong to a group. At this point,\na user may set it to an existing group.\nUUIDKey UUIDKey is a key that holds a UUID for an onboarding or decommissioning request.\nField Name Type Description request_id google.protobuf.StringValue request_id should be a UUID for the request.\nDecommissioningStatus DecommissioningStatus defines the set of possible states in the decommissioning process for a device.\nName Number Description DECOMMISSIONING_STATUS_UNSPECIFIED 0 DECOMMISSIONING_STATUS_IN_PROGRESS 1 DECOMMISSIONING_STATUS_IN_PROGRESS indicates decommissioning is in progress.\nDECOMMISSIONING_STATUS_FAILURE 2 DECOMMISSIONING_STATUS_FAILURE indicates decommissioning failed.\nDECOMMISSIONING_STATUS_SUCCESS 3 DECOMMISSIONING_STATUS_SUCCESS indicates decommissioning succeeded.\nOnboardingStatus OnboardingStatus defines the set of possible states in the onboarding process for a device.\nName Number Description ONBOARDING_STATUS_UNSPECIFIED 0 ONBOARDING_STATUS_IN_PROGRESS 1 ONBOARDING_STATUS_IN_PROGRESS indicates onboarding is in progress.\nONBOARDING_STATUS_FAILURE 2 ONBOARDING_STATUS_FAILURE indicates onboarding failed.\nONBOARDING_STATUS_SUCCESS 3 ONBOARDING_STATUS_SUCCESS indicates onboarding succeeded.\nProvisioningStatus ProvisioningStatus defines the set of possible states in the provisioning process for a device.\nName Number Description PROVISIONING_STATUS_UNSPECIFIED 0 PROVISIONING_STATUS_IN_PROGRESS 1 PROVISIONING_STATUS_IN_PROGRESS indicates provisioning is in progress.\nPROVISIONING_STATUS_FAILURE 2 PROVISIONING_STATUS_FAILURE indicates provisioning failed.\nPROVISIONING_STATUS_SUCCESS 3 PROVISIONING_STATUS_SUCCESS indicates provisioning succeeded.\nStreamingStatus StreamingStatus defines the status of telemetry streaming for a device.\nName Number Description STREAMING_STATUS_UNSPECIFIED 0 STREAMING_STATUS_INACTIVE 1 STREAMING_STATUS_INACTIVE indicates the device is not streaming telemetry.\nSTREAMING_STATUS_ACTIVE 2 STREAMING_STATUS_ACTIVE indicates the device is streaming telemetry.\nTop\narista/inventory.v1/services.gen.proto DeviceBatchedStreamRequest Field Name Type Description partial_eq_filter Device[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Device at end.\n* Each Device response is fully-specified (all fields set).\n* start: Returns the state of each Device at start, followed by updates until now.\n* Each Device response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Device at start, followed by updates\nuntil end.\n* Each Device response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceBatchedStreamResponse Field Name Type Description responses DeviceStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceDecommissioningBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioning[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioning at end.\n* Each DeviceDecommissioning response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioning at start, followed by updates until now.\n* Each DeviceDecommissioning response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioning at start, followed by updates\nuntil end.\n* Each DeviceDecommissioning response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceDecommissioningBatchedStreamResponse Field Name Type Description responses DeviceDecommissioningStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceDecommissioningConfigBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioningConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioningConfig at end.\n* Each DeviceDecommissioningConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioningConfig at start, followed by updates until now.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioningConfig at start, followed by updates\nuntil end.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceDecommissioningConfigBatchedStreamResponse Field Name Type Description responses DeviceDecommissioningConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceDecommissioningConfigDeleteAllRequest Field Name Type Description partial_eq_filter DeviceDecommissioningConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nDeviceDecommissioningConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey UUIDKey This is the key of the DeviceDecommissioningConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nDeviceDecommissioningConfigDeleteRequest Field Name Type Description key UUIDKey Key indicates which DeviceDecommissioningConfig instance to remove.\nThis field must always be set.\nDeviceDecommissioningConfigDeleteResponse Field Name Type Description key UUIDKey Key echoes back the key of the deleted DeviceDecommissioningConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nDeviceDecommissioningConfigDeleteSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] key contains a list of DeviceDecommissioningConfig keys to delete\nDeviceDecommissioningConfigDeleteSomeResponse DeviceDecommissioningConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key UUIDKey error string DeviceDecommissioningConfigRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceDecommissioningConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningConfigResponse Field Name Type Description value DeviceDecommissioningConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceDecommissioningConfig instance in this response.\nDeviceDecommissioningConfigSetRequest Field Name Type Description value DeviceDecommissioningConfig DeviceDecommissioningConfig carries the value to set into the datastore.\nSee the documentation on the DeviceDecommissioningConfig struct for which fields are required.\nDeviceDecommissioningConfigSetResponse Field Name Type Description value DeviceDecommissioningConfig Value carries all the values given in the DeviceDecommissioningConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nDeviceDecommissioningConfigSetSomeRequest Field Name Type Description values DeviceDecommissioningConfig[\u0026hellip;] value contains a list of DeviceDecommissioningConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nDeviceDecommissioningConfigSetSomeResponse Field Name Type Description key UUIDKey error string DeviceDecommissioningConfigSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningConfigSomeResponse Field Name Type Description value DeviceDecommissioningConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceDecommissioningConfigStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioningConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioningConfig at end.\n* Each DeviceDecommissioningConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioningConfig at start, followed by updates until now.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioningConfig at start, followed by updates\nuntil end.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceDecommissioningConfigStreamResponse Field Name Type Description value DeviceDecommissioningConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceDecommissioningConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceDecommissioningConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceDecommissioningRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceDecommissioning instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningResponse Field Name Type Description value DeviceDecommissioning Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceDecommissioning instance in this response.\nDeviceDecommissioningSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningSomeResponse Field Name Type Description value DeviceDecommissioning Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceDecommissioningStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioning[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioning at end.\n* Each DeviceDecommissioning response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioning at start, followed by updates until now.\n* Each DeviceDecommissioning response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioning at start, followed by updates\nuntil end.\n* Each DeviceDecommissioning response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceDecommissioningStreamResponse Field Name Type Description value DeviceDecommissioning Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceDecommissioning\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceDecommissioning value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceOnboardingBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceOnboarding[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboarding at end.\n* Each DeviceOnboarding response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboarding at start, followed by updates until now.\n* Each DeviceOnboarding response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboarding at start, followed by updates\nuntil end.\n* Each DeviceOnboarding response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceOnboardingBatchedStreamResponse Field Name Type Description responses DeviceOnboardingStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceOnboardingConfigBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceOnboardingConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboardingConfig at end.\n* Each DeviceOnboardingConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboardingConfig at start, followed by updates until now.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboardingConfig at start, followed by updates\nuntil end.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceOnboardingConfigBatchedStreamResponse Field Name Type Description responses DeviceOnboardingConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceOnboardingConfigDeleteAllRequest Field Name Type Description partial_eq_filter DeviceOnboardingConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nDeviceOnboardingConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey UUIDKey This is the key of the DeviceOnboardingConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nDeviceOnboardingConfigDeleteRequest Field Name Type Description key UUIDKey Key indicates which DeviceOnboardingConfig instance to remove.\nThis field must always be set.\nDeviceOnboardingConfigDeleteResponse Field Name Type Description key UUIDKey Key echoes back the key of the deleted DeviceOnboardingConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nDeviceOnboardingConfigDeleteSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] key contains a list of DeviceOnboardingConfig keys to delete\nDeviceOnboardingConfigDeleteSomeResponse DeviceOnboardingConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key UUIDKey error string DeviceOnboardingConfigRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceOnboardingConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingConfigResponse Field Name Type Description value DeviceOnboardingConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceOnboardingConfig instance in this response.\nDeviceOnboardingConfigSetRequest Field Name Type Description value DeviceOnboardingConfig DeviceOnboardingConfig carries the value to set into the datastore.\nSee the documentation on the DeviceOnboardingConfig struct for which fields are required.\nDeviceOnboardingConfigSetResponse Field Name Type Description value DeviceOnboardingConfig Value carries all the values given in the DeviceOnboardingConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nDeviceOnboardingConfigSetSomeRequest Field Name Type Description values DeviceOnboardingConfig[\u0026hellip;] value contains a list of DeviceOnboardingConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nDeviceOnboardingConfigSetSomeResponse Field Name Type Description key UUIDKey error string DeviceOnboardingConfigSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingConfigSomeResponse Field Name Type Description value DeviceOnboardingConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceOnboardingConfigStreamRequest Field Name Type Description partial_eq_filter DeviceOnboardingConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboardingConfig at end.\n* Each DeviceOnboardingConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboardingConfig at start, followed by updates until now.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboardingConfig at start, followed by updates\nuntil end.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceOnboardingConfigStreamResponse Field Name Type Description value DeviceOnboardingConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceOnboardingConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceOnboardingConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceOnboardingRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceOnboarding instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingResponse Field Name Type Description value DeviceOnboarding Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceOnboarding instance in this response.\nDeviceOnboardingSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingSomeResponse Field Name Type Description value DeviceOnboarding Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceOnboardingStreamRequest Field Name Type Description partial_eq_filter DeviceOnboarding[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboarding at end.\n* Each DeviceOnboarding response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboarding at start, followed by updates until now.\n* Each DeviceOnboarding response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboarding at start, followed by updates\nuntil end.\n* Each DeviceOnboarding response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceOnboardingStreamResponse Field Name Type Description value DeviceOnboarding Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceOnboarding\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceOnboarding value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceRequest Field Name Type Description key DeviceKey Key uniquely identifies a Device instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceResponse Field Name Type Description value Device Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDevice instance in this response.\nDeviceSomeRequest Field Name Type Description keys DeviceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceSomeResponse Field Name Type Description value Device Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceStreamRequest Field Name Type Description partial_eq_filter Device[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Device at end.\n* Each Device response is fully-specified (all fields set).\n* start: Returns the state of each Device at start, followed by updates until now.\n* Each Device response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Device at start, followed by updates\nuntil end.\n* Each Device response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceStreamResponse Field Name Type Description value Device Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Device\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Device value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nProvisionedDeviceBatchedStreamRequest Field Name Type Description partial_eq_filter ProvisionedDevice[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProvisionedDevice at end.\n* Each ProvisionedDevice response is fully-specified (all fields set).\n* start: Returns the state of each ProvisionedDevice at start, followed by updates until now.\n* Each ProvisionedDevice response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProvisionedDevice at start, followed by updates\nuntil end.\n* Each ProvisionedDevice response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nProvisionedDeviceBatchedStreamResponse Field Name Type Description responses ProvisionedDeviceStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nProvisionedDeviceRequest Field Name Type Description key DeviceKey Key uniquely identifies a ProvisionedDevice instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProvisionedDeviceResponse Field Name Type Description value ProvisionedDevice Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nProvisionedDevice instance in this response.\nProvisionedDeviceSomeRequest Field Name Type Description keys DeviceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProvisionedDeviceSomeResponse Field Name Type Description value ProvisionedDevice Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ProvisionedDeviceStreamRequest Field Name Type Description partial_eq_filter ProvisionedDevice[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProvisionedDevice at end.\n* Each ProvisionedDevice response is fully-specified (all fields set).\n* start: Returns the state of each ProvisionedDevice at start, followed by updates until now.\n* Each ProvisionedDevice response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProvisionedDevice at start, followed by updates\nuntil end.\n* Each ProvisionedDevice response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nProvisionedDeviceStreamResponse Field Name Type Description value ProvisionedDevice Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ProvisionedDevice\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ProvisionedDevice value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceDecommissioningConfigService Method Name Request Type Response Type Description GetOne DeviceDecommissioningConfigRequest DeviceDecommissioningConfigResponse GetSome DeviceDecommissioningConfigSomeRequest DeviceDecommissioningConfigSomeResponse stream GetAll DeviceDecommissioningConfigStreamRequest DeviceDecommissioningConfigStreamResponse stream Subscribe DeviceDecommissioningConfigStreamRequest DeviceDecommissioningConfigStreamResponse stream GetMeta DeviceDecommissioningConfigStreamRequest MetaResponse SubscribeMeta DeviceDecommissioningConfigStreamRequest MetaResponse stream Set DeviceDecommissioningConfigSetRequest DeviceDecommissioningConfigSetResponse SetSome DeviceDecommissioningConfigSetSomeRequest DeviceDecommissioningConfigSetSomeResponse stream Delete DeviceDecommissioningConfigDeleteRequest DeviceDecommissioningConfigDeleteResponse DeleteSome DeviceDecommissioningConfigDeleteSomeRequest DeviceDecommissioningConfigDeleteSomeResponse stream DeleteAll DeviceDecommissioningConfigDeleteAllRequest DeviceDecommissioningConfigDeleteAllResponse stream GetAllBatched DeviceDecommissioningConfigBatchedStreamRequest DeviceDecommissioningConfigBatchedStreamResponse stream SubscribeBatched DeviceDecommissioningConfigBatchedStreamRequest DeviceDecommissioningConfigBatchedStreamResponse stream DeviceDecommissioningService Method Name Request Type Response Type Description GetOne DeviceDecommissioningRequest DeviceDecommissioningResponse GetSome DeviceDecommissioningSomeRequest DeviceDecommissioningSomeResponse stream GetAll DeviceDecommissioningStreamRequest DeviceDecommissioningStreamResponse stream Subscribe DeviceDecommissioningStreamRequest DeviceDecommissioningStreamResponse stream GetMeta DeviceDecommissioningStreamRequest MetaResponse SubscribeMeta DeviceDecommissioningStreamRequest MetaResponse stream GetAllBatched DeviceDecommissioningBatchedStreamRequest DeviceDecommissioningBatchedStreamResponse stream SubscribeBatched DeviceDecommissioningBatchedStreamRequest DeviceDecommissioningBatchedStreamResponse stream DeviceOnboardingConfigService Method Name Request Type Response Type Description GetOne DeviceOnboardingConfigRequest DeviceOnboardingConfigResponse GetSome DeviceOnboardingConfigSomeRequest DeviceOnboardingConfigSomeResponse stream GetAll DeviceOnboardingConfigStreamRequest DeviceOnboardingConfigStreamResponse stream Subscribe DeviceOnboardingConfigStreamRequest DeviceOnboardingConfigStreamResponse stream GetMeta DeviceOnboardingConfigStreamRequest MetaResponse SubscribeMeta DeviceOnboardingConfigStreamRequest MetaResponse stream Set DeviceOnboardingConfigSetRequest DeviceOnboardingConfigSetResponse SetSome DeviceOnboardingConfigSetSomeRequest DeviceOnboardingConfigSetSomeResponse stream Delete DeviceOnboardingConfigDeleteRequest DeviceOnboardingConfigDeleteResponse DeleteSome DeviceOnboardingConfigDeleteSomeRequest DeviceOnboardingConfigDeleteSomeResponse stream DeleteAll DeviceOnboardingConfigDeleteAllRequest DeviceOnboardingConfigDeleteAllResponse stream GetAllBatched DeviceOnboardingConfigBatchedStreamRequest DeviceOnboardingConfigBatchedStreamResponse stream SubscribeBatched DeviceOnboardingConfigBatchedStreamRequest DeviceOnboardingConfigBatchedStreamResponse stream DeviceOnboardingService Method Name Request Type Response Type Description GetOne DeviceOnboardingRequest DeviceOnboardingResponse GetSome DeviceOnboardingSomeRequest DeviceOnboardingSomeResponse stream GetAll DeviceOnboardingStreamRequest DeviceOnboardingStreamResponse stream Subscribe DeviceOnboardingStreamRequest DeviceOnboardingStreamResponse stream GetMeta DeviceOnboardingStreamRequest MetaResponse SubscribeMeta DeviceOnboardingStreamRequest MetaResponse stream GetAllBatched DeviceOnboardingBatchedStreamRequest DeviceOnboardingBatchedStreamResponse stream SubscribeBatched DeviceOnboardingBatchedStreamRequest DeviceOnboardingBatchedStreamResponse stream DeviceService Method Name Request Type Response Type Description GetOne DeviceRequest DeviceResponse GetSome DeviceSomeRequest DeviceSomeResponse stream GetAll DeviceStreamRequest DeviceStreamResponse stream Subscribe DeviceStreamRequest DeviceStreamResponse stream GetMeta DeviceStreamRequest MetaResponse SubscribeMeta DeviceStreamRequest MetaResponse stream GetAllBatched DeviceBatchedStreamRequest DeviceBatchedStreamResponse stream SubscribeBatched DeviceBatchedStreamRequest DeviceBatchedStreamResponse stream ProvisionedDeviceService Method Name Request Type Response Type Description GetOne ProvisionedDeviceRequest ProvisionedDeviceResponse GetSome ProvisionedDeviceSomeRequest ProvisionedDeviceSomeResponse stream GetAll ProvisionedDeviceStreamRequest ProvisionedDeviceStreamResponse stream Subscribe ProvisionedDeviceStreamRequest ProvisionedDeviceStreamResponse stream GetMeta ProvisionedDeviceStreamRequest MetaResponse SubscribeMeta ProvisionedDeviceStreamRequest MetaResponse stream GetAllBatched ProvisionedDeviceBatchedStreamRequest ProvisionedDeviceBatchedStreamResponse stream SubscribeBatched ProvisionedDeviceBatchedStreamRequest ProvisionedDeviceBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/lifecycle.v1/","title":"lifecycle.v1","tags":[],"description":"","content":" arista/lifecycle.v1/lifecycle.proto\nDateAndModels DeviceLifecycleSummary DeviceLifecycleSummaryKey HardwareLifecycleSummary SoftwareEOL arista/lifecycle.v1/services.gen.proto\nDeviceLifecycleSummaryRequest\nDeviceLifecycleSummaryResponse\nDeviceLifecycleSummaryStreamRequest\nDeviceLifecycleSummaryStreamResponse\nMetaResponse\nDeviceLifecycleSummaryService\nTop\narista/lifecycle.v1/lifecycle.proto DateAndModels DateAndModels has an \u0026ldquo;end of\u0026rdquo; date along with the models that has this exact \u0026ldquo;end of\u0026rdquo; date\nField Name Type Description date google.protobuf.Timestamp \u0026ldquo;end of\u0026rdquo; date\nmodels fmp.MapStringInt32 models with this exact \u0026ldquo;end of\u0026rdquo; date\nmapped to its count\nDeviceLifecycleSummary DeviceLifecycleSummary is the state model that represents the lifecycle summary of a device\nField Name Type Description key DeviceLifecycleSummaryKey DeviceLifecycleSummaryKey is the key of\nDeviceLifecycleSummary\nsoftware_eol SoftwareEOL software_eol is the software end of life of\na device\nhardware_lifecycle_summary HardwareLifecycleSummary hardware_lifecycle_summary is the hardware lifecycle summary\nof a device\nDeviceLifecycleSummaryKey DeviceLifecycleSummaryKey is the key type for DeviceLifecycleSummary model\nField Name Type Description device_id google.protobuf.StringValue device_id is the device ID\nHardwareLifecycleSummary HardwareLifecycleSummary represents a hardware lifecycle summary\nField Name Type Description end_of_life DateAndModels end_of_life of a HardwareLifecycleSummary\nend_of_sale DateAndModels end_of_sale of a HardwareLifecycleSummary\nend_of_tac_support DateAndModels end_of_tac_support of a HardwareLifecycleSummary\nend_of_hardware_rma_requests DateAndModels end_of_hardware_rma_requests of a HardwareLifecycleSummary\nSoftwareEOL SoftwareEOL represents a software end of life\nField Name Type Description version google.protobuf.StringValue version of a SoftwareEOL\nend_of_support google.protobuf.Timestamp end_of_support of a SoftwareEOL\nTop\narista/lifecycle.v1/services.gen.proto DeviceLifecycleSummaryRequest Field Name Type Description key DeviceLifecycleSummaryKey Key uniquely identifies a DeviceLifecycleSummary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceLifecycleSummaryResponse Field Name Type Description value DeviceLifecycleSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceLifecycleSummary instance in this response.\nDeviceLifecycleSummaryStreamRequest Field Name Type Description partial_eq_filter DeviceLifecycleSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceLifecycleSummary at end.\n* Each DeviceLifecycleSummary response is fully-specified (all fields set).\n* start: Returns the state of each DeviceLifecycleSummary at start, followed by updates until now.\n* Each DeviceLifecycleSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceLifecycleSummary at start, followed by updates\nuntil end.\n* Each DeviceLifecycleSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceLifecycleSummaryStreamResponse Field Name Type Description value DeviceLifecycleSummary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceLifecycleSummary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceLifecycleSummary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nDeviceLifecycleSummaryService Method Name Request Type Response Type Description GetOne DeviceLifecycleSummaryRequest DeviceLifecycleSummaryResponse GetAll DeviceLifecycleSummaryStreamRequest DeviceLifecycleSummaryStreamResponse stream Subscribe DeviceLifecycleSummaryStreamRequest DeviceLifecycleSummaryStreamResponse stream GetMeta DeviceLifecycleSummaryStreamRequest MetaResponse SubscribeMeta DeviceLifecycleSummaryStreamRequest MetaResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/redirector.v1/","title":"redirector.v1","tags":[],"description":"","content":" arista/redirector.v1/redirector.proto\nAssignment AssignmentKey Cluster Clusters arista/redirector.v1/services.gen.proto\nAssignmentBatchedStreamRequest\nAssignmentBatchedStreamResponse\nAssignmentRequest\nAssignmentResponse\nAssignmentSomeRequest\nAssignmentSomeResponse\nAssignmentStreamRequest\nAssignmentStreamResponse\nMetaResponse\nAssignmentService\nTop\narista/redirector.v1/redirector.proto Assignment Assignment returns the information about the regional clusters that the system is assigned to. Each cluster consists of a series of hosts, each of which the client can use to connect.\nField Name Type Description key AssignmentKey key uniquely identifies the assignment of system_id to the cluster.\nclusters Clusters clusters that the system is assigned to.\nAssignmentKey AssignmentKey allows to uniquely identify an assignment.\nField Name Type Description system_id google.protobuf.StringValue system_id is the unique identifier of a device.\nCluster Field Name Type Description name google.protobuf.StringValue name of the cluster. The name can change over time as new clusters\nare added or removed.\nhosts fmp.RepeatedString hosts in the cluster that the devices can connect to.\nClusters Clusters wraps a cluster list which contain the information about the hosts.\nField Name Type Description values Cluster[\u0026hellip;] values contains the list of clusters associated with the region\nTop\narista/redirector.v1/services.gen.proto AssignmentBatchedStreamRequest Field Name Type Description partial_eq_filter Assignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Assignment at end.\n* Each Assignment response is fully-specified (all fields set).\n* start: Returns the state of each Assignment at start, followed by updates until now.\n* Each Assignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Assignment at start, followed by updates\nuntil end.\n* Each Assignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAssignmentBatchedStreamResponse Field Name Type Description responses AssignmentStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAssignmentRequest Field Name Type Description key AssignmentKey Key uniquely identifies a Assignment instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignmentResponse Field Name Type Description value Assignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAssignment instance in this response.\nAssignmentSomeRequest Field Name Type Description keys AssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignmentSomeResponse Field Name Type Description value Assignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AssignmentStreamRequest Field Name Type Description partial_eq_filter Assignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Assignment at end.\n* Each Assignment response is fully-specified (all fields set).\n* start: Returns the state of each Assignment at start, followed by updates until now.\n* Each Assignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Assignment at start, followed by updates\nuntil end.\n* Each Assignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAssignmentStreamResponse Field Name Type Description value Assignment Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Assignment\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Assignment value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nAssignmentService Method Name Request Type Response Type Description GetOne AssignmentRequest AssignmentResponse GetSome AssignmentSomeRequest AssignmentSomeResponse stream GetAll AssignmentStreamRequest AssignmentStreamResponse stream Subscribe AssignmentStreamRequest AssignmentStreamResponse stream GetMeta AssignmentStreamRequest MetaResponse SubscribeMeta AssignmentStreamRequest MetaResponse stream GetAllBatched AssignmentBatchedStreamRequest AssignmentBatchedStreamResponse stream SubscribeBatched AssignmentBatchedStreamRequest AssignmentBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/serviceaccount.v1/","title":"serviceaccount.v1","tags":[],"description":"","content":" arista/serviceaccount.v1/serviceaccount.proto\nAccount\nAccountConfig\nAccountKey\nToken\nTokenConfig\nTokenKey\nAccountStatus\narista/serviceaccount.v1/services.gen.proto\nAccountConfigDeleteAllRequest\nAccountConfigDeleteAllResponse\nAccountConfigDeleteRequest\nAccountConfigDeleteResponse\nAccountConfigDeleteSomeRequest\nAccountConfigDeleteSomeResponse\nAccountConfigRequest\nAccountConfigResponse\nAccountConfigSetRequest\nAccountConfigSetResponse\nAccountConfigSetSomeRequest\nAccountConfigSetSomeResponse\nAccountConfigSomeRequest\nAccountConfigSomeResponse\nAccountConfigStreamRequest\nAccountConfigStreamResponse\nAccountRequest\nAccountResponse\nAccountSomeRequest\nAccountSomeResponse\nAccountStreamRequest\nAccountStreamResponse\nMetaResponse\nTokenConfigDeleteAllRequest\nTokenConfigDeleteAllResponse\nTokenConfigDeleteRequest\nTokenConfigDeleteResponse\nTokenConfigDeleteSomeRequest\nTokenConfigDeleteSomeResponse\nTokenConfigRequest\nTokenConfigResponse\nTokenConfigSetRequest\nTokenConfigSetResponse\nTokenConfigSetSomeRequest\nTokenConfigSetSomeResponse\nTokenConfigSomeRequest\nTokenConfigSomeResponse\nTokenConfigStreamRequest\nTokenConfigStreamResponse\nTokenRequest\nTokenResponse\nTokenSomeRequest\nTokenSomeResponse\nTokenStreamRequest\nTokenStreamResponse\nAccountConfigService\nAccountService\nTokenConfigService\nTokenService\nTop\narista/serviceaccount.v1/serviceaccount.proto Account Account describes a service account.\nField Name Type Description key AccountKey key uniquely identifies the service account.\nstatus AccountStatus status determines whether the service account is enabled or disabled.\ndescription google.protobuf.StringValue description is a comment describing the service account.\ngroups fmp.RepeatedString groups is a list of roles that the service account inherits permissions from.\ncreated_by google.protobuf.StringValue created_by is the name of the entity that created the service account.\nlast_access google.protobuf.Timestamp last_access is the time when the service account was last fetched.\nAccountConfig AccountConfig holds the configuration for a service account.\nField Name Type Description key AccountKey key contains the name of the service account.\nstatus AccountStatus status determines if the service account is enabled or disabled. New service accounts are\nenabled by default.\ndescription google.protobuf.StringValue description is a comment describing the service account.\ngroups fmp.RepeatedString groups is a list of roles that the service account inherits permissions from.\nAccountKey AccountKey contains the name of the service account.\nField Name Type Description name google.protobuf.StringValue name is the unique identifier of the service account.\nToken Token describes a service account token.\nField Name Type Description key TokenKey key uniquely identifies the service account token.\nuser google.protobuf.StringValue user is the name of the service account that the token is generated for.\ndescription google.protobuf.StringValue description is a short name or comment used to identify the service account token.\nvalid_until google.protobuf.Timestamp valid_until is the time that the service account token will be valid until.\ncreated_by google.protobuf.StringValue created_by is the name of the entity that created the service account token.\nlast_used google.protobuf.Timestamp last_used is the time when the service account token was last used to authenticate.\nTokenConfig TokenConfig holds the configuration for a service account token. The token is a signed JWT which can be used as a credential for REST and WRPC endpoints.\nField Name Type Description key TokenKey key uniquely identifies the service account token.\nuser google.protobuf.StringValue user is the name of the service account that the token is generated for.\ndescription google.protobuf.StringValue description is a short name or comment used to identify the service account token.\nvalid_for google.protobuf.Duration valid_for determines the duration that the service account token will be valid for.\ntoken google.protobuf.StringValue token is the JWT token generated for a service account token.\nIt is only populated in Set response.\nTokenKey TokenKey contains service account token ID.\nField Name Type Description id google.protobuf.StringValue id is the unique identifier of the service account token.\nAccountStatus AccountStatus determines whether an service account is enabled or disabled.\nName Number Description ACCOUNT_STATUS_UNSPECIFIED 0 ACCOUNT_STATUS_UNSPECIFIED indicates the service account status is unspecified.\nACCOUNT_STATUS_ENABLED 1 ACCOUNT_STATUS_ENABLED indicates the service account is enabled.\nACCOUNT_STATUS_DISABLED 2 ACCOUNT_STATUS_DISABLED indicates the service account is disabled.\nTop\narista/serviceaccount.v1/services.gen.proto AccountConfigDeleteAllRequest Field Name Type Description partial_eq_filter AccountConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nAccountConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey AccountKey This is the key of the AccountConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nAccountConfigDeleteRequest Field Name Type Description key AccountKey Key indicates which AccountConfig instance to remove.\nThis field must always be set.\nAccountConfigDeleteResponse Field Name Type Description key AccountKey Key echoes back the key of the deleted AccountConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nAccountConfigDeleteSomeRequest Field Name Type Description keys AccountKey[\u0026hellip;] key contains a list of AccountConfig keys to delete\nAccountConfigDeleteSomeResponse AccountConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key AccountKey error string AccountConfigRequest Field Name Type Description key AccountKey Key uniquely identifies a AccountConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountConfigResponse Field Name Type Description value AccountConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAccountConfig instance in this response.\nAccountConfigSetRequest Field Name Type Description value AccountConfig AccountConfig carries the value to set into the datastore.\nSee the documentation on the AccountConfig struct for which fields are required.\nAccountConfigSetResponse Field Name Type Description value AccountConfig Value carries all the values given in the AccountConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAccountConfigSetSomeRequest Field Name Type Description values AccountConfig[\u0026hellip;] value contains a list of AccountConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nAccountConfigSetSomeResponse Field Name Type Description key AccountKey error string AccountConfigSomeRequest Field Name Type Description keys AccountKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountConfigSomeResponse Field Name Type Description value AccountConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AccountConfigStreamRequest Field Name Type Description partial_eq_filter AccountConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AccountConfig at end.\n* Each AccountConfig response is fully-specified (all fields set).\n* start: Returns the state of each AccountConfig at start, followed by updates until now.\n* Each AccountConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AccountConfig at start, followed by updates\nuntil end.\n* Each AccountConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAccountConfigStreamResponse Field Name Type Description value AccountConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AccountConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AccountConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAccountRequest Field Name Type Description key AccountKey Key uniquely identifies a Account instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountResponse Field Name Type Description value Account Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAccount instance in this response.\nAccountSomeRequest Field Name Type Description keys AccountKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountSomeResponse Field Name Type Description value Account Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AccountStreamRequest Field Name Type Description partial_eq_filter Account[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Account at end.\n* Each Account response is fully-specified (all fields set).\n* start: Returns the state of each Account at start, followed by updates until now.\n* Each Account response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Account at start, followed by updates\nuntil end.\n* Each Account response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAccountStreamResponse Field Name Type Description value Account Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Account\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Account value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nTokenConfigDeleteAllRequest Field Name Type Description partial_eq_filter TokenConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nTokenConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TokenKey This is the key of the TokenConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTokenConfigDeleteRequest Field Name Type Description key TokenKey Key indicates which TokenConfig instance to remove.\nThis field must always be set.\nTokenConfigDeleteResponse Field Name Type Description key TokenKey Key echoes back the key of the deleted TokenConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTokenConfigDeleteSomeRequest Field Name Type Description keys TokenKey[\u0026hellip;] key contains a list of TokenConfig keys to delete\nTokenConfigDeleteSomeResponse TokenConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TokenKey error string TokenConfigRequest Field Name Type Description key TokenKey Key uniquely identifies a TokenConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenConfigResponse Field Name Type Description value TokenConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTokenConfig instance in this response.\nTokenConfigSetRequest Field Name Type Description value TokenConfig TokenConfig carries the value to set into the datastore.\nSee the documentation on the TokenConfig struct for which fields are required.\nTokenConfigSetResponse Field Name Type Description value TokenConfig Value carries all the values given in the TokenConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTokenConfigSetSomeRequest Field Name Type Description values TokenConfig[\u0026hellip;] value contains a list of TokenConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTokenConfigSetSomeResponse Field Name Type Description key TokenKey error string TokenConfigSomeRequest Field Name Type Description keys TokenKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenConfigSomeResponse Field Name Type Description value TokenConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TokenConfigStreamRequest Field Name Type Description partial_eq_filter TokenConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TokenConfig at end.\n* Each TokenConfig response is fully-specified (all fields set).\n* start: Returns the state of each TokenConfig at start, followed by updates until now.\n* Each TokenConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TokenConfig at start, followed by updates\nuntil end.\n* Each TokenConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTokenConfigStreamResponse Field Name Type Description value TokenConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TokenConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TokenConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTokenRequest Field Name Type Description key TokenKey Key uniquely identifies a Token instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenResponse Field Name Type Description value Token Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nToken instance in this response.\nTokenSomeRequest Field Name Type Description keys TokenKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenSomeResponse Field Name Type Description value Token Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TokenStreamRequest Field Name Type Description partial_eq_filter Token[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Token at end.\n* Each Token response is fully-specified (all fields set).\n* start: Returns the state of each Token at start, followed by updates until now.\n* Each Token response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Token at start, followed by updates\nuntil end.\n* Each Token response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTokenStreamResponse Field Name Type Description value Token Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Token\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Token value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAccountConfigService Method Name Request Type Response Type Description GetOne AccountConfigRequest AccountConfigResponse GetSome AccountConfigSomeRequest AccountConfigSomeResponse stream GetAll AccountConfigStreamRequest AccountConfigStreamResponse stream Subscribe AccountConfigStreamRequest AccountConfigStreamResponse stream GetMeta AccountConfigStreamRequest MetaResponse SubscribeMeta AccountConfigStreamRequest MetaResponse stream Set AccountConfigSetRequest AccountConfigSetResponse SetSome AccountConfigSetSomeRequest AccountConfigSetSomeResponse stream Delete AccountConfigDeleteRequest AccountConfigDeleteResponse DeleteSome AccountConfigDeleteSomeRequest AccountConfigDeleteSomeResponse stream DeleteAll AccountConfigDeleteAllRequest AccountConfigDeleteAllResponse stream AccountService Method Name Request Type Response Type Description GetOne AccountRequest AccountResponse GetSome AccountSomeRequest AccountSomeResponse stream GetAll AccountStreamRequest AccountStreamResponse stream Subscribe AccountStreamRequest AccountStreamResponse stream GetMeta AccountStreamRequest MetaResponse SubscribeMeta AccountStreamRequest MetaResponse stream TokenConfigService Method Name Request Type Response Type Description GetOne TokenConfigRequest TokenConfigResponse GetSome TokenConfigSomeRequest TokenConfigSomeResponse stream GetAll TokenConfigStreamRequest TokenConfigStreamResponse stream Subscribe TokenConfigStreamRequest TokenConfigStreamResponse stream GetMeta TokenConfigStreamRequest MetaResponse SubscribeMeta TokenConfigStreamRequest MetaResponse stream Set TokenConfigSetRequest TokenConfigSetResponse SetSome TokenConfigSetSomeRequest TokenConfigSetSomeResponse stream Delete TokenConfigDeleteRequest TokenConfigDeleteResponse DeleteSome TokenConfigDeleteSomeRequest TokenConfigDeleteSomeResponse stream DeleteAll TokenConfigDeleteAllRequest TokenConfigDeleteAllResponse stream TokenService Method Name Request Type Response Type Description GetOne TokenRequest TokenResponse GetSome TokenSomeRequest TokenSomeResponse stream GetAll TokenStreamRequest TokenStreamResponse stream Subscribe TokenStreamRequest TokenStreamResponse stream GetMeta TokenStreamRequest MetaResponse SubscribeMeta TokenStreamRequest MetaResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/studio.v1/","title":"studio.v1","tags":[],"description":"","content":" arista/studio.v1/studio.proto\nAssignedTags\nAssignedTagsConfig\nAutofillAction\nAutofillActionConfig\nAutofillActionKey\nAutofillArgumentProvider\nAutofillArgumentProviders\nAutofillArgumentProviders.ValuesEntry\nBooleanInputFieldProps\nCollectionInputFieldProps\nEntities\nEntities.ValuesEntry\nEntity\nFloatInputFieldProps\nGroupInputFieldProps\nInputField\nInputFields\nInputFields.ValuesEntry\nInputSchema\nInputs\nInputsConfig\nInputsKey\nIntegerInputFieldProps\nLayout\nResolverInputFieldProps\nSecretInput\nStringInputFieldProps\nStudio\nStudioConfig\nStudioKey\nStudioSummary\nTagMatcherInputFieldProps\nTemplate\nAutofillProviderType\nEntityType\nInputFieldType\nResolverFieldDisplayMode\nResolverFieldInputMode\nTagMatcherFieldMode\nTemplateType\narista/studio.v1/services.gen.proto\nAssignedTagsBatchedStreamRequest\nAssignedTagsBatchedStreamResponse\nAssignedTagsConfigBatchedStreamRequest\nAssignedTagsConfigBatchedStreamResponse\nAssignedTagsConfigDeleteAllRequest\nAssignedTagsConfigDeleteAllResponse\nAssignedTagsConfigDeleteRequest\nAssignedTagsConfigDeleteResponse\nAssignedTagsConfigDeleteSomeRequest\nAssignedTagsConfigDeleteSomeResponse\nAssignedTagsConfigRequest\nAssignedTagsConfigResponse\nAssignedTagsConfigSetRequest\nAssignedTagsConfigSetResponse\nAssignedTagsConfigSetSomeRequest\nAssignedTagsConfigSetSomeResponse\nAssignedTagsConfigSomeRequest\nAssignedTagsConfigSomeResponse\nAssignedTagsConfigStreamRequest\nAssignedTagsConfigStreamResponse\nAssignedTagsRequest\nAssignedTagsResponse\nAssignedTagsSomeRequest\nAssignedTagsSomeResponse\nAssignedTagsStreamRequest\nAssignedTagsStreamResponse\nAutofillActionBatchedStreamRequest\nAutofillActionBatchedStreamResponse\nAutofillActionConfigBatchedStreamRequest\nAutofillActionConfigBatchedStreamResponse\nAutofillActionConfigDeleteAllRequest\nAutofillActionConfigDeleteAllResponse\nAutofillActionConfigDeleteRequest\nAutofillActionConfigDeleteResponse\nAutofillActionConfigDeleteSomeRequest\nAutofillActionConfigDeleteSomeResponse\nAutofillActionConfigRequest\nAutofillActionConfigResponse\nAutofillActionConfigSetRequest\nAutofillActionConfigSetResponse\nAutofillActionConfigSetSomeRequest\nAutofillActionConfigSetSomeResponse\nAutofillActionConfigSomeRequest\nAutofillActionConfigSomeResponse\nAutofillActionConfigStreamRequest\nAutofillActionConfigStreamResponse\nAutofillActionRequest\nAutofillActionResponse\nAutofillActionSomeRequest\nAutofillActionSomeResponse\nAutofillActionStreamRequest\nAutofillActionStreamResponse\nInputsBatchedStreamRequest\nInputsBatchedStreamResponse\nInputsConfigBatchedStreamRequest\nInputsConfigBatchedStreamResponse\nInputsConfigDeleteAllRequest\nInputsConfigDeleteAllResponse\nInputsConfigDeleteRequest\nInputsConfigDeleteResponse\nInputsConfigDeleteSomeRequest\nInputsConfigDeleteSomeResponse\nInputsConfigRequest\nInputsConfigResponse\nInputsConfigSetRequest\nInputsConfigSetResponse\nInputsConfigSetSomeRequest\nInputsConfigSetSomeResponse\nInputsConfigSomeRequest\nInputsConfigSomeResponse\nInputsConfigStreamRequest\nInputsConfigStreamResponse\nInputsRequest\nInputsResponse\nInputsSomeRequest\nInputsSomeResponse\nInputsStreamRequest\nInputsStreamResponse\nMetaResponse\nSecretInputBatchedStreamRequest\nSecretInputBatchedStreamResponse\nSecretInputRequest\nSecretInputResponse\nSecretInputSomeRequest\nSecretInputSomeResponse\nSecretInputStreamRequest\nSecretInputStreamResponse\nStudioBatchedStreamRequest\nStudioBatchedStreamResponse\nStudioConfigBatchedStreamRequest\nStudioConfigBatchedStreamResponse\nStudioConfigDeleteAllRequest\nStudioConfigDeleteAllResponse\nStudioConfigDeleteRequest\nStudioConfigDeleteResponse\nStudioConfigDeleteSomeRequest\nStudioConfigDeleteSomeResponse\nStudioConfigRequest\nStudioConfigResponse\nStudioConfigSetRequest\nStudioConfigSetResponse\nStudioConfigSetSomeRequest\nStudioConfigSetSomeResponse\nStudioConfigSomeRequest\nStudioConfigSomeResponse\nStudioConfigStreamRequest\nStudioConfigStreamResponse\nStudioRequest\nStudioResponse\nStudioSomeRequest\nStudioSomeResponse\nStudioStreamRequest\nStudioStreamResponse\nStudioSummaryBatchedStreamRequest\nStudioSummaryBatchedStreamResponse\nStudioSummaryRequest\nStudioSummaryResponse\nStudioSummarySomeRequest\nStudioSummarySomeResponse\nStudioSummaryStreamRequest\nStudioSummaryStreamResponse\nAssignedTagsConfigService\nAssignedTagsService\nAutofillActionConfigService\nAutofillActionService\nInputsConfigService\nInputsService\nSecretInputService\nStudioConfigService\nStudioService\nStudioSummaryService\nTop\narista/studio.v1/studio.proto NOTE: This is a workspace-aware Resource API. Please see workspace.v1 for more information.\nAssignedTags AssignedTags can be used to retrieve additional metadata about a studio\u0026rsquo;s AssignedTagsConfig.\nField Name Type Description key StudioKey key uniquely identifies the studio to which devices were assigned.\ncreated_at google.protobuf.Timestamp created_at is the time at which the assignment was first created.\ncreated_by google.protobuf.StringValue created_by is the name of the user that created the assignment.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the assignment was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the assignment.\nquery google.protobuf.StringValue query is a tag query string that conforms to the CloudVision\ntag query language. See AssignedTagsConfig.\nAssignedTagsConfig AssignedTagsConfig holds a configuration to assign a studio to a set of devices matching a tag query.\nField Name Type Description key StudioKey key uniquely identifies the studio to which to assign devices.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the tag assignments involving the studio identified\nby the key if the encompassing workspace merges. Other data\nfields are not allowed if this field is set to true.\nquery google.protobuf.StringValue query is a tag query string that conforms to the CloudVision\ntag query language. E.g., the query, \u0026quot;datacenter:NYC,SFO AND\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;sflow:enabled\u0026quot;, matches all devices with sflow enabled in\ndata centers NYC and SFO.\nAutofillAction AutofillAction can be used to retrieve additional metadata about an autofill action.\nField Name Type Description key AutofillActionKey key uniquely identifies the action-to-studio association.\ncreated_at google.protobuf.Timestamp created_at is the time at which the inputs were first set.\ncreated_by google.protobuf.StringValue created_by is the name of the user that first set the inputs.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the inputs were last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the inputs.\naction_id google.protobuf.StringValue action_id uniquely identifies the autofill action associated with the input field.\ndescription google.protobuf.StringValue description is an optional field to describe the autofill action that will be\ndisplayed in a tooltip in the UI when the user hovers over the button to run\nthe autofill action.\nargument_providers AutofillArgumentProviders argument_providers is an optional field that specifies how dynamic arguments are\nto be provided to the autofill action when executed. If an argument is omitted\nfrom the provider map, it will not be defined in the arguments passed to the scripts.\nIf the entire field is omitted, no additional argument values will be passed to the\nscript beyond any statically defined arguments and the system-provided arguments\nwhich are always set in an autofill action execution context (namely InputPath,\nStudioID, and WorkspaceID).\nAutofillActionConfig AutofillActionConfig contains configuration information for an autofill action.\nField Name Type Description key AutofillActionKey key uniquely identifies the action-to-studio association.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false, unset)\nthe autofill action configuration identified by the key if the encompassing\nworkspace merges. Other data fields are not allowed if this field is set to true.\naction_id google.protobuf.StringValue action_id uniquely identifies the autofill action associated with the input field.\ndescription google.protobuf.StringValue description is an optional field to describe the autofill action that will be\ndisplayed in a tooltip in the UI when the user hovers over the button to run\nthe autofill action.\nargument_providers AutofillArgumentProviders argument_providers is an optional field that specifies how dynamic arguments are\nto be provided to the autofill action when executed. If an argument is omitted\nfrom the provider map, it will not be defined in the arguments passed to the scripts.\nIf the entire field is omitted, no additional argument values will be passed to the\nscript beyond any statically defined arguments and the system-provided arguments\nwhich are always set in an autofill action execution context (namely InputPath,\nStudioId, and WorkspaceId).\nAutofillActionKey AutofillActionKey identifies an autofill action.\nField Name Type Description studio_id google.protobuf.StringValue studio_id uniquely identifies the studio in the workspace indicated\nby workspace_id.\nworkspace_id google.protobuf.StringValue workspace_id uniquely identifies the workspace in which the studio resides.\ninput_field_id google.protobuf.StringValue input_field_id uniquely identifies the input field within the schema associated\nwith the action indicated by action_id.\nAutofillArgumentProvider AutofillArgumentProvider describes a particular dynamic argument\u0026rsquo;s type and value (if applicable).\nField Name Type Description type AutofillProviderType type is the type of argument provider, describing how it is to be\nhandled when the associated action is called.\nvalue google.protobuf.StringValue value is the value of the argument, if provided.\nWhen the provider type is PROVIDER_TYPE_USER_SPECIFIED, the field may be nil. If non-nil,\nthe field contains a default value for the user input.\nWhen the provider type is PROVIDER_TYPE_PREDEFINED, the field contains the predefined\nvalue.\nWhen the provider type is PROVIDER_TYPE_LINKED, the field contains the linked input\nfield\u0026rsquo;s ID.\nAutofillArgumentProviders AutofillArgumentProviders is a map of dynamic argument name to argument provider information.\nField Name Type Description values AutofillArgumentProviders.ValuesEntry[\u0026hellip;] values is a map of dynamic argument name to argument provider information.\nAutofillArgumentProviders.ValuesEntry Field Name Type Description key string value AutofillArgumentProvider BooleanInputFieldProps BooleanInputFieldProps defines the set of properties for a single boolean field in a studio input schema.\nField Name Type Description default_value google.protobuf.BoolValue default_value is the default value of the boolean.\nCollectionInputFieldProps CollectionInputFieldProps defines the set of properties for a single collection field in a studio input schema.\nField Name Type Description base_field_id google.protobuf.StringValue base_field_id (required) identifies the field in the schema\nthat should be used as the type for each element in the\ncollection.\nkey google.protobuf.StringValue key can be used when base_field_id references a group field,\nand it identifies the field in that group that should be used\nas the key for each element in the collection. This is used\nfor display purposes only.\nEntities Entities is a list of Entity.\nField Name Type Description values Entities.ValuesEntry[\u0026hellip;] values is a map from entity type name to entity\nThe possible keys to this map are ENTITY_TYPE_STUDIO,\nENTITY_TYPE_INPUTS, ENTITY_TYPE_ASSIGNED_TAGS,\nENTITY_TYPE_BUILD_HOOK and ENTITY_TYPE_AUTOFILL_ACTION.\nEntities.ValuesEntry Field Name Type Description key string value Entity Entity Entity holds the basic information of an entity.\nField Name Type Description entity_type EntityType EntityType is the type of the entity.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the entity was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the entity.\nremoved google.protobuf.BoolValue removed indicates if the entity is removed.\nFloatInputFieldProps FloatInputFieldProps defines the set of properties for a single float field in a studio input schema.\nField Name Type Description default_value google.protobuf.FloatValue default_value is the default value of the float.\nstatic_options fmp.RepeatedFloat static_options defines the set of possible values for the float.\ndynamic_options fmp.RepeatedString dynamic_options defines the set of possible values for the float\nbased on the possible values for other floats in the schema.\nEach field should be referenced by a JSON object of the form\n{ \u0026quot;fieldId\u0026quot;: \u0026lt;field_id\u0026gt; }.\nE.g,\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;floatField1ID\u0026quot; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;floatField2ID\u0026quot; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nHere, the possible values for the floats identified by\n\u0026quot;floatField1ID\u0026quot; and \u0026quot;floatField2ID\u0026quot; are used as the\npossible values for this float.\nextra_values_allowed google.protobuf.BoolValue extra_values_allowed allows adding values to the field in\naddition to what\u0026rsquo;s allowed by static_options/dynamic_options.\nGroupInputFieldProps GroupInputFieldProps defines the set of properties for a single group field in a studio input schema.\nField Name Type Description members fmp.RepeatedString members (required) identifies the member fields of the group\nas defined in the schema.\nInputField InputField defines the set of properties for a single field in a studio input schema.\nField Name Type Description id google.protobuf.StringValue id (required) uniquely identifies the field within the schema.\ntype InputFieldType type (required) specifies the type for the field.\nname google.protobuf.StringValue name (required) is the variable name by which the field can be\nreferenced in the template for the studio.\nlabel google.protobuf.StringValue label (required) is the label of the field as displayed on the UI.\ndescription google.protobuf.StringValue description is a short description of the field.\nrequired google.protobuf.BoolValue required indicates whether the field always requires a value. This\nis false by default.\nboolean_props BooleanInputFieldProps boolean_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_BOOLEAN.\ninteger_props IntegerInputFieldProps integer_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_INTEGER.\nfloat_props FloatInputFieldProps float_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_FLOAT.\nstring_props StringInputFieldProps string_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_STRING.\ngroup_props GroupInputFieldProps group_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_GROUP.\ncollection_props CollectionInputFieldProps collection_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_COLLECTION.\nresolver_props ResolverInputFieldProps resolver_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_RESOLVER.\nauto_fill_action_id google.protobuf.StringValue auto_fill_action_id identifies the autofill action that can be\nused to automatically populate the value of this field on the\nUI.\ntag_matcher_props TagMatcherInputFieldProps tag_matcher_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_TAG_MATCHER.\nInputFields InputFields is a collection of InputField.\nField Name Type Description values InputFields.ValuesEntry[\u0026hellip;] values (required) is a map from input field ID to InputField.\nInputFields.ValuesEntry Field Name Type Description key string value InputField InputSchema InputSchema defines an input schema for a studio, which determines the values that can be input into the studio.\nField Name Type Description fields InputFields fields (required) are the set of fields that make up the schema.\nlayout Layout layout (UI only) defines the display properties for fields.\nInputs Inputs is used to retrieve the existing inputs to a studio.\nField Name Type Description key InputsKey key uniquely identifies the set of inputs for the studio (at some path).\ncreated_at google.protobuf.Timestamp created_at is the time at which the inputs were first set.\ncreated_by google.protobuf.StringValue created_by is the name of the user that first set the inputs.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the inputs were last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the inputs.\ninputs google.protobuf.StringValue inputs is the value of the input field at the path as a JSON string.\nNOTE: For GetAll and Subscribe, if the JSON is too large, it will\nbe split across multiple messages such that each is less than the Resource\nAPI message size limit (1MB).\nInputsConfig InputsConfig is used to input values into a studio.\nNOTE: Setting an input at a higher path overwrite any prior Sets at lower paths. E.g.,\nSet [\u0026quot;A\u0026quot;, \u0026quot;X\u0026quot;] to \u0026quot;foo\u0026quot; Set [\u0026quot;A\u0026quot;, \u0026quot;Y\u0026quot;] to \u0026quot;bar\u0026quot; Set [\u0026quot;A\u0026quot;] to {\u0026quot;X\u0026quot;: \u0026quot;bar\u0026quot;} The resulting inputs would be:\n{ \u0026#34;A\u0026#34;: { \u0026#34;X\u0026#34;: \u0026#34;bar\u0026#34; } } Field Name Type Description key InputsKey key uniquely identifies the set of inputs for the studio (at some path).\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the inputs identified by the key if the encompassing\nworkspace merges. Other data fields are not allowed if this\nfield is set to true.\ninputs google.protobuf.StringValue inputs is the value of the input field at the path as a\nJSON string. It can be the value for a simple or complex\ninput field.\nSimple types (booleans, integers, floats, strings) map to\ntheir JSON equivalents.\nComplex types map to either arrays or objects:\n* The group field type maps to a JSON object, where keys\nare group members.\n* The collection field type maps to a JSON array.\n* The resolver field type maps to a JSON array, where each\nelement is an object of the form:\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\u0026quot;tags\u0026quot;: { \u0026quot;query\u0026quot;: \u0026lt;query\u0026gt; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\u0026quot;inputs\u0026quot;: \u0026lt;input\u0026gt;\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;}\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nAbove, \u0026lt;input\u0026gt; is the value of the base field of the resolver.\nE.g., if the base field is a group with one string member \u0026quot;A\u0026quot;,\nthe resolver inputs would be specified as:\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\u0026quot;inputs\u0026quot;: { \u0026quot;A\u0026quot;: \u0026lt;value\u0026gt; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nInputsKey InputsKey identifies a set of inputs for a particular studio.\nField Name Type Description studio_id google.protobuf.StringValue studio_id uniquely identifies the studio in the workspace indicated\nby workspace_id.\nworkspace_id google.protobuf.StringValue workspace_id uniquely identifies the workspace in which the studio resides.\npath fmp.RepeatedString path is the sequence of elements that uniquely identify an input field.\nAn empty path ([]) stands for the root of the inputs, or the entire\nset of inputs for the studio.\nThe members of a group are referenced by field name. E.g., for a group\nA with a member B, the path to B would be [\u0026quot;A\u0026quot;, \u0026quot;B\u0026quot;].\nThe members of a collection or resolver are referenced by an integer\nstring. E.g., for a collection A with three members, the path to the\nsecond member would be [\u0026quot;A\u0026quot;, \u0026quot;1\u0026quot;].\nIntegerInputFieldProps IntegerInputFieldProps defines the set of properties for a single integer field in a studio input schema.\nField Name Type Description default_value google.protobuf.Int64Value default_value is the default value of the integer.\nstatic_options fmp.RepeatedInt64 static_options defines the set of possible values for the integer.\nrange google.protobuf.StringValue range imposes a range (inclusive) on the value of the integer.\nThis should be of the form \u0026quot;\u0026lt;min\u0026gt;..\u0026lt;max\u0026gt;\u0026quot;. E.g., \u0026quot;-10..10\u0026quot;\nmeans the integer can be anything in between and including -10\nand 10.\ndynamic_options fmp.RepeatedString dynamic_options defines the set of possible values for the integer\nbased on the possible values for other integers in the schema.\nEach field should be referenced by a JSON object of the form\n{ \u0026quot;fieldId\u0026quot;: \u0026lt;field_id\u0026gt; }.\nE.g,\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;vlanFieldID\u0026quot; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;vniFieldID\u0026quot; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nHere, the possible values for the integers identified by\n\u0026quot;vlanFieldID\u0026quot; and \u0026quot;vniFieldID\u0026quot; are used as the possible\nvalues for this integer.\nextra_values_allowed google.protobuf.BoolValue extra_values_allowed allows adding values to the field in\naddition to what\u0026rsquo;s allowed by static_options/dynamic_options.\nLayout Layout specifies the display properties for input fields. This is intended for UI usage only.\nField Name Type Description value google.protobuf.StringValue value is a JSON object containing the layout config.\nResolverInputFieldProps ResolverInputFieldProps defines the set of properties for a single resolver field in a studio input schema.\nField Name Type Description base_field_id google.protobuf.StringValue base_field_id (required) identifies the field in the schema\nto which the resolver query maps.\ndisplay_mode ResolverFieldDisplayMode display_mode (required) is the display mode of the resolver.\ninput_mode ResolverFieldInputMode input_mode (required) is the input mode of the resolver.\ninput_tag_label google.protobuf.StringValue input_tag_label can be used when input_mode is one of\nRESOLVER_FIELD_INPUT_MODE_SINGLE_*_TAG and it specifies\nthe tag label must be used in the resolver query.\ntag_filter_query google.protobuf.StringValue tag_filter_query limits the set of elements that the\nresolver query can return. E.g., \u0026quot;device:D1,D2\u0026quot; will\nconstrain results to the devices D1 and D2.\nSecretInput SecretInput can be used to retrieve the unmasked value of a secret in a studio.\nField Name Type Description key InputsKey key identifies the secret in the studio inputs.\nplain_text google.protobuf.StringValue plain_text is the unmasked value of the secret.\nStringInputFieldProps StringInputFieldProps defines the set of properties for a single string field in a studio input schema.\nField Name Type Description default_value google.protobuf.StringValue default_value is the default value of the string.\nstatic_options fmp.RepeatedString static_options defines the set of possible values for the string.\ndynamic_options fmp.RepeatedString dynamic_options defines the set of possible values for the string\nbased on the possible values for other strings in the schema.\nEach field should be referenced by a JSON object of the form\n{ \u0026quot;fieldId\u0026quot;: \u0026lt;field_id\u0026gt; }.\nE.g,\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;deviceFieldID\u0026quot; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;ipFieldID\u0026quot; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nHere, the possible values for the strings identified by\n\u0026quot;deviceFieldID\u0026quot; and \u0026quot;ipFieldID\u0026quot; are used as the possible\nvalues for this string.\nlength google.protobuf.StringValue length imposes a length range (inclusive) on the value of the\nstring. The should be of the form \u0026quot;\u0026lt;min\u0026gt;..\u0026lt;max\u0026gt;\u0026quot;. E.g.,\n\u0026quot;3..7\u0026quot; means the value of the string can be three to seven\ncharacters long.\npattern google.protobuf.StringValue pattern imposes a regular expression matching constraint on\nthe value of the string. This should be a Google RE2-compliant\nregular expression (https://github.com/google/re2/wiki/Syntax).\nformat google.protobuf.StringValue format imposes a well-known format on the value of the string.\nThe supported formats are:\n* \u0026quot;ip\u0026quot;: an IPv4 or IPv6 address\n* \u0026quot;ipv4\u0026quot;: an IPv4 address\n* \u0026quot;ipv6\u0026quot;: an IPv6 address\n* \u0026quot;mac\u0026quot;: a MAC address\n* \u0026quot;cidr\u0026quot;: an IPv4 or IPv6 address in CIDR notation (e.g. 10.1.1.1/24, 2001:db8:a0b::1/32)\n* \u0026quot;cidrv4\u0026quot;: an IPv4 address in CIDR notation (e.g. 10.1.1.1/24)\n* \u0026quot;cidrv6\u0026quot;: an IPv6 address in CIDR notation (e.g. 2001:db8:a0b::1/32)\n* \u0026quot;url\u0026quot;: a URL (e.g., http://www.google.com)\nis_secret google.protobuf.BoolValue is_secret specifies whether the string is a secret and its\nvalue should be masked. E.g., if this is set to true and\nthe value of the string is \u0026quot;secret-value-1\u0026quot;, it will be\nmasked as \u0026quot;**********\u0026quot;.\nextra_values_allowed google.protobuf.BoolValue extra_values_allowed allows adding values to the field in\naddition to what\u0026rsquo;s allowed by static_options/dynamic_options.\nStudio Studio holds the active state for a studio.\nField Name Type Description key StudioKey key uniquely identifies the studio.\ncreated_at google.protobuf.Timestamp created_at is the time at which the studio was created.\ncreated_by google.protobuf.StringValue created_by is the name of the user that created the studio.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the studio was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the studio.\ndisplay_name google.protobuf.StringValue display_name is the name of this studio as displayed on the UI.\nThis and remaining fields are config fields, with workspace changes applied on top of\nmainline. This resource will be present in the workspace only if\nthe studio is modified (via the StudioConfig resource).\ndescription google.protobuf.StringValue description is a brief description of the studio.\ntemplate Template template is a script that builds the device configuration from the\ninputs that are described by input_schema.\ninput_schema InputSchema input_schema is the schema for the studio inputs that are processed\nby template.\nfrom_package google.protobuf.StringValue from_package indicates that this studio was created by a package, and can only be modified\nby the packaging service.\nStudioConfig StudioConfig holds a configuration for a studio.\nChanges to fields other than key and remove are applied to a copy of the mainline.\nField Name Type Description key StudioKey key uniquely identifies the studio.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the studio identified by the key if the encompassing\nworkspace merges. Other data fields are not allowed if this\nfield is set to true.\ndisplay_name google.protobuf.StringValue display_name is the name of this studio as displayed on the UI.\nThis and remaining fields are config fields, with workspace changes to be applied\non top of mainline. The corresponding Studio will be present\nin the workspace only if the studio is modified (via this resource).\ndescription google.protobuf.StringValue description is a brief description of the studio.\ntemplate Template template is a script that builds the device configuration from the\ninputs that are described by input_schema.\ninput_schema InputSchema input_schema is the schema for the studio inputs that are processed\nby template.\nStudioKey StudioKey uniquely identifies a studio.\nField Name Type Description studio_id google.protobuf.StringValue studio_id uniquely identifies the studio in the workspace indicated\nby workspace_id.\nworkspace_id google.protobuf.StringValue workspace_id identifies the workspace within which the studio resides.\nStudioSummary StudioSummary holds basic information about a studio.\nField Name Type Description key StudioKey key uniquely identifies the studio.\ndisplay_name google.protobuf.StringValue display_name is the name of this studio as displayed on the UI.\ndescription google.protobuf.StringValue description is a brief description of the studio.\nimmutable google.protobuf.BoolValue immutable indicates if read-write studio management\naccess over a given studio is granted or not.\nIf studio is immutable, its display name, description,\nschema and template cannot be modified.\nentities Entities entities indicate all the entities of the studio.\nin_use google.protobuf.BoolValue in_use indicates that the studio is in use, i.e. there are non-empty inputs,\nand assigned to some devices, either in a given workspace, or in mainline.\nTagMatcherInputFieldProps TagMatcherInputFieldProps defines the set of properties for a single selector field in a studio input schema.\nField Name Type Description tag_matcher_mode TagMatcherFieldMode tag_matcher_mode (required) is the tag mode of the matcher.\ntag_matcher_label google.protobuf.StringValue tag_matcher_label can be used when tag_matcher_mode is one of\nTAG_MATCHER_FIELD_MODE_SINGLE_*_TAG and it specifies\nthe tag label which must be used in the match query.\ntag_filter_query google.protobuf.StringValue tag_filter_query limits the set of devices that the\nmatch query can return. E.g., \u0026quot;device:D1,D2\u0026quot; will\nconstrain results to the devices D1 and D2.\nresolver_filtering_allowed google.protobuf.BoolValue resolver_filtering_allowed indicates whether results of the\nmatch query be filtered based on what any parent resolvers\nallow. This is true by default.\nTemplate Template defines a template for a studio.\nField Name Type Description type TemplateType type specifies the language that this template uses.\nbody google.protobuf.StringValue body contains the actual source code of the template.\nAutofillProviderType AutofillProviderType describes the set of possible provided argument types.\nName Number Description AUTOFILL_PROVIDER_TYPE_UNSPECIFIED 0 AUTOFILL_PROVIDER_TYPE_UNSPECIFIED indicates that no provider type is specified.\nAUTOFILL_PROVIDER_TYPE_USER_SPECIFIED 1 AUTOFILL_PROVIDER_TYPE_USER_SPECIFIED is when an argument is to be\nprovided at runtime by the user.\nAUTOFILL_PROVIDER_TYPE_PREDEFINED 2 AUTOFILL_PROVIDER_TYPE_PREDEFINED is when an argument has a predefined value.\nAUTOFILL_PROVIDER_TYPE_LINKED 3 AUTOFILL_PROVIDER_TYPE_LINKED is when an argument is linked to another studio input field.\nEntityType EntityType enumerates the set of entity types.\nName Number Description ENTITY_TYPE_UNSPECIFIED 0 ENTITY_TYPE_UNSPECIFIED indicates an unspecified entity type.\nENTITY_TYPE_STUDIO 1 ENTITY_TYPE_STUDIO indicates the Studio entity type.\nENTITY_TYPE_INPUTS 2 ENTITY_TYPE_INPUTS indicates the Inputs entity type.\nENTITY_TYPE_ASSIGNED_TAGS 3 ENTITY_TYPE_ASSIGNED_TAGS indicates the AssignedTags entity type.\nENTITY_TYPE_BUILD_HOOK 4 ENTITY_TYPE_BUILD_HOOK indicates the BuildHook entity type.\nENTITY_TYPE_AUTOFILL_ACTION 5 ENTITY_TYPE_AUTOFILL_ACTION indicates the AutofillAction entity type.\nENTITY_TYPE_CONFIGLET 6 ENTITY_TYPE_CONFIGLET indicates the Configlet entity type for\nstatic config studio.\nENTITY_TYPE_CONFIGLET_ASSIGNMENT 7 ENTITY_TYPE_CONFIGLET_ASSIGNMENT indicates the ConfigletAssignment\nentity type for static config studio.\nInputFieldType InputFieldType defines the set of possible data types for values that can be input into a studio.\nName Number Description INPUT_FIELD_TYPE_UNSPECIFIED 0 INPUT_FIELD_TYPE_UNSPECIFIED indicates an unspecified input data type.\nINPUT_FIELD_TYPE_BOOLEAN 1 INPUT_FIELD_TYPE_BOOLEAN is the data type for a boolean value.\nINPUT_FIELD_TYPE_INTEGER 2 INPUT_FIELD_TYPE_INTEGER is the data type for an integer value.\nINPUT_FIELD_TYPE_FLOAT 3 INPUT_FIELD_TYPE_FLOAT is the data type for a float value.\nINPUT_FIELD_TYPE_STRING 4 INPUT_FIELD_TYPE_STRING is the data type for a string value.\nINPUT_FIELD_TYPE_GROUP 5 INPUT_FIELD_TYPE_GROUP is the data type for an unordered group of\ninputs of any type. This type is used in cases where inputs are\nrequired to be consolidated into an object for use in the template\nor to attach multiple inputs under a resolver or collection.\nINPUT_FIELD_TYPE_COLLECTION 6 INPUT_FIELD_TYPE_COLLECTION is the data type for an ordered collection\nof inputs of the same type. This type is used in cases where multiple\ninput values of the same type should be given for a field, and where\nordering matters.\nINPUT_FIELD_TYPE_RESOLVER 7 INPUT_FIELD_TYPE_RESOLVER is the data type for an input that allows\nits member input to be assigned based on a tag query match. This\ntype is used in cases where the input value is conditional on a\ndevice or a group of devices. The query is resolved at run-time\nand each affected device is given the value that corresponds to\nthe tag it is assigned to.\nINPUT_FIELD_TYPE_TAG_MATCHER 8 INPUT_FIELD_TYPE_TAG_MATCHER is the data type for an input that allows\nan unordered set of devices or interfaces to be selected. The set of\ndevices or interfaces that are to be selected are specified by a tag\nquery, resolved at run-time.\nResolverFieldDisplayMode ResolverFieldDisplayMode defines the set of ways in which the matching devices or interfaces should be displayed on the UI.\nName Number Description RESOLVER_FIELD_DISPLAY_MODE_UNSPECIFIED 0 RESOLVER_FIELD_DISPLAY_MODE_UNSPECIFIED indicates an unspecified resolver display mode.\nRESOLVER_FIELD_DISPLAY_MODE_ALL 1 RESOLVER_FIELD_DISPLAY_MODE_ALL instructs the UI to show all\nmatching devices or interfaces, including ones that have no\ninputs.\nRESOLVER_FIELD_DISPLAY_MODE_SPARSE 2 RESOLVER_FIELD_DISPLAY_MODE_SPARSE instructs the UI to show\nonly matching devices or interfaces that have inputs.\nResolverFieldInputMode ResolverFieldInputMode defines the set of ways a resolver tag query can be specified in a studio.\nName Number Description RESOLVER_FIELD_INPUT_MODE_UNSPECIFIED 0 RESOLVER_FIELD_INPUT_MODE_UNSPECIFIED indicates an unspecified resolver input mode.\nRESOLVER_FIELD_INPUT_MODE_SINGLE_DEVICE_TAG 1 RESOLVER_FIELD_INPUT_MODE_SINGLE_DEVICE_TAG allows devices to be\nselected based on a single tag label.\nRESOLVER_FIELD_INPUT_MODE_SINGLE_INTERFACE_TAG 2 RESOLVER_FIELD_INPUT_MODE_SINGLE_INTERFACE_TAG allows interfaces\nto be selected based on a single tag label.\nRESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG 3 RESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG allows devices to be\nselected based on any tag label.\nRESOLVER_FIELD_INPUT_MODE_MULTI_INTERFACE_TAG 4 RESOLVER_FIELD_INPUT_MODE_MULTI_INTERFACE_TAG allows interfaces\nto be selected based on any tag label.\nTagMatcherFieldMode TagMatcherFieldMode defines the set of ways a tag query for matching device or interfaces can be specified in a studio.\nName Number Description TAG_MATCHER_FIELD_MODE_UNSPECIFIED 0 TAG_MATCHER_FIELD_MODE_UNSPECIFIED indicates an unspecified tag matcher mode.\nTAG_MATCHER_FIELD_MODE_SINGLE_DEVICE_TAG 1 TAG_MATCHER_FIELD_MODE_SINGLE_DEVICE_TAG allows devices to be\nselected based on a single tag label.\nTAG_MATCHER_FIELD_MODE_SINGLE_INTERFACE_TAG 2 TAG_MATCHER_FIELD_MODE_SINGLE_INTERFACE_TAG allows interfaces\nto be selected based on a single tag label.\nTAG_MATCHER_FIELD_MODE_MULTI_DEVICE_TAG 3 TAG_MATCHER_FIELD_MODE_MULTI_DEVICE_TAG allows devices to be\nselected based on any tag label.\nTAG_MATCHER_FIELD_MODE_MULTI_INTERFACE_TAG 4 TAG_MATCHER_FIELD_MODE_MULTI_INTERFACE_TAG allows interfaces\nto be selected based on any tag label.\nTemplateType TemplateType defines the set of supported languages that can be used in studio templates.\nName Number Description TEMPLATE_TYPE_UNSPECIFIED 0 TEMPLATE_TYPE_UNSPECIFIED indicates an unspecified template type.\nTEMPLATE_TYPE_MAKO 1 TEMPLATE_TYPE_MAKO is the Mako templating language for Python.\nMore information: https://www.makotemplates.org\nTEMPLATE_TYPE_JINJA 2 TEMPLATE_TYPE_JINJA is the Jinja templating language for Python.\nMore information: https://palletsprojects.com/p/jinja\nTEMPLATE_TYPE_GO 3 TEMPLATE_TYPE_GO is the Go templating language.\nMore information: https://pkg.go.dev/text/template\nNOTE: Not all template functions are supported for this type.\nTop\narista/studio.v1/services.gen.proto AssignedTagsBatchedStreamRequest Field Name Type Description partial_eq_filter AssignedTags[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTags at end.\n* Each AssignedTags response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTags at start, followed by updates until now.\n* Each AssignedTags response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTags at start, followed by updates\nuntil end.\n* Each AssignedTags response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAssignedTagsBatchedStreamResponse Field Name Type Description responses AssignedTagsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAssignedTagsConfigBatchedStreamRequest Field Name Type Description partial_eq_filter AssignedTagsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTagsConfig at end.\n* Each AssignedTagsConfig response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTagsConfig at start, followed by updates until now.\n* Each AssignedTagsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTagsConfig at start, followed by updates\nuntil end.\n* Each AssignedTagsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAssignedTagsConfigBatchedStreamResponse Field Name Type Description responses AssignedTagsConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAssignedTagsConfigDeleteAllRequest Field Name Type Description partial_eq_filter AssignedTagsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nAssignedTagsConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey StudioKey This is the key of the AssignedTagsConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nAssignedTagsConfigDeleteRequest Field Name Type Description key StudioKey Key indicates which AssignedTagsConfig instance to remove.\nThis field must always be set.\nAssignedTagsConfigDeleteResponse Field Name Type Description key StudioKey Key echoes back the key of the deleted AssignedTagsConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nAssignedTagsConfigDeleteSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] key contains a list of AssignedTagsConfig keys to delete\nAssignedTagsConfigDeleteSomeResponse AssignedTagsConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key StudioKey error string AssignedTagsConfigRequest Field Name Type Description key StudioKey Key uniquely identifies a AssignedTagsConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsConfigResponse Field Name Type Description value AssignedTagsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAssignedTagsConfig instance in this response.\nAssignedTagsConfigSetRequest Field Name Type Description value AssignedTagsConfig AssignedTagsConfig carries the value to set into the datastore.\nSee the documentation on the AssignedTagsConfig struct for which fields are required.\nAssignedTagsConfigSetResponse Field Name Type Description value AssignedTagsConfig Value carries all the values given in the AssignedTagsConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAssignedTagsConfigSetSomeRequest Field Name Type Description values AssignedTagsConfig[\u0026hellip;] value contains a list of AssignedTagsConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nAssignedTagsConfigSetSomeResponse Field Name Type Description key StudioKey error string AssignedTagsConfigSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsConfigSomeResponse Field Name Type Description value AssignedTagsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AssignedTagsConfigStreamRequest Field Name Type Description partial_eq_filter AssignedTagsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTagsConfig at end.\n* Each AssignedTagsConfig response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTagsConfig at start, followed by updates until now.\n* Each AssignedTagsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTagsConfig at start, followed by updates\nuntil end.\n* Each AssignedTagsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAssignedTagsConfigStreamResponse Field Name Type Description value AssignedTagsConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AssignedTagsConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AssignedTagsConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAssignedTagsRequest Field Name Type Description key StudioKey Key uniquely identifies a AssignedTags instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsResponse Field Name Type Description value AssignedTags Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAssignedTags instance in this response.\nAssignedTagsSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsSomeResponse Field Name Type Description value AssignedTags Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AssignedTagsStreamRequest Field Name Type Description partial_eq_filter AssignedTags[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTags at end.\n* Each AssignedTags response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTags at start, followed by updates until now.\n* Each AssignedTags response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTags at start, followed by updates\nuntil end.\n* Each AssignedTags response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAssignedTagsStreamResponse Field Name Type Description value AssignedTags Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AssignedTags\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AssignedTags value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAutofillActionBatchedStreamRequest Field Name Type Description partial_eq_filter AutofillAction[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillAction at end.\n* Each AutofillAction response is fully-specified (all fields set).\n* start: Returns the state of each AutofillAction at start, followed by updates until now.\n* Each AutofillAction response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillAction at start, followed by updates\nuntil end.\n* Each AutofillAction response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAutofillActionBatchedStreamResponse Field Name Type Description responses AutofillActionStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAutofillActionConfigBatchedStreamRequest Field Name Type Description partial_eq_filter AutofillActionConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillActionConfig at end.\n* Each AutofillActionConfig response is fully-specified (all fields set).\n* start: Returns the state of each AutofillActionConfig at start, followed by updates until now.\n* Each AutofillActionConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillActionConfig at start, followed by updates\nuntil end.\n* Each AutofillActionConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAutofillActionConfigBatchedStreamResponse Field Name Type Description responses AutofillActionConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAutofillActionConfigDeleteAllRequest Field Name Type Description partial_eq_filter AutofillActionConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nAutofillActionConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey AutofillActionKey This is the key of the AutofillActionConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nAutofillActionConfigDeleteRequest Field Name Type Description key AutofillActionKey Key indicates which AutofillActionConfig instance to remove.\nThis field must always be set.\nAutofillActionConfigDeleteResponse Field Name Type Description key AutofillActionKey Key echoes back the key of the deleted AutofillActionConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nAutofillActionConfigDeleteSomeRequest Field Name Type Description keys AutofillActionKey[\u0026hellip;] key contains a list of AutofillActionConfig keys to delete\nAutofillActionConfigDeleteSomeResponse AutofillActionConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key AutofillActionKey error string AutofillActionConfigRequest Field Name Type Description key AutofillActionKey Key uniquely identifies a AutofillActionConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionConfigResponse Field Name Type Description value AutofillActionConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAutofillActionConfig instance in this response.\nAutofillActionConfigSetRequest Field Name Type Description value AutofillActionConfig AutofillActionConfig carries the value to set into the datastore.\nSee the documentation on the AutofillActionConfig struct for which fields are required.\nAutofillActionConfigSetResponse Field Name Type Description value AutofillActionConfig Value carries all the values given in the AutofillActionConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAutofillActionConfigSetSomeRequest Field Name Type Description values AutofillActionConfig[\u0026hellip;] value contains a list of AutofillActionConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nAutofillActionConfigSetSomeResponse Field Name Type Description key AutofillActionKey error string AutofillActionConfigSomeRequest Field Name Type Description keys AutofillActionKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionConfigSomeResponse Field Name Type Description value AutofillActionConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AutofillActionConfigStreamRequest Field Name Type Description partial_eq_filter AutofillActionConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillActionConfig at end.\n* Each AutofillActionConfig response is fully-specified (all fields set).\n* start: Returns the state of each AutofillActionConfig at start, followed by updates until now.\n* Each AutofillActionConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillActionConfig at start, followed by updates\nuntil end.\n* Each AutofillActionConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAutofillActionConfigStreamResponse Field Name Type Description value AutofillActionConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AutofillActionConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AutofillActionConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAutofillActionRequest Field Name Type Description key AutofillActionKey Key uniquely identifies a AutofillAction instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionResponse Field Name Type Description value AutofillAction Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAutofillAction instance in this response.\nAutofillActionSomeRequest Field Name Type Description keys AutofillActionKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionSomeResponse Field Name Type Description value AutofillAction Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AutofillActionStreamRequest Field Name Type Description partial_eq_filter AutofillAction[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillAction at end.\n* Each AutofillAction response is fully-specified (all fields set).\n* start: Returns the state of each AutofillAction at start, followed by updates until now.\n* Each AutofillAction response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillAction at start, followed by updates\nuntil end.\n* Each AutofillAction response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAutofillActionStreamResponse Field Name Type Description value AutofillAction Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AutofillAction\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AutofillAction value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nInputsBatchedStreamRequest Field Name Type Description partial_eq_filter Inputs[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Inputs at end.\n* Each Inputs response is fully-specified (all fields set).\n* start: Returns the state of each Inputs at start, followed by updates until now.\n* Each Inputs response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Inputs at start, followed by updates\nuntil end.\n* Each Inputs response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nInputsBatchedStreamResponse Field Name Type Description responses InputsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nInputsConfigBatchedStreamRequest Field Name Type Description partial_eq_filter InputsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each InputsConfig at end.\n* Each InputsConfig response is fully-specified (all fields set).\n* start: Returns the state of each InputsConfig at start, followed by updates until now.\n* Each InputsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each InputsConfig at start, followed by updates\nuntil end.\n* Each InputsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nInputsConfigBatchedStreamResponse Field Name Type Description responses InputsConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nInputsConfigDeleteAllRequest Field Name Type Description partial_eq_filter InputsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nInputsConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey InputsKey This is the key of the InputsConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nInputsConfigDeleteRequest Field Name Type Description key InputsKey Key indicates which InputsConfig instance to remove.\nThis field must always be set.\nInputsConfigDeleteResponse Field Name Type Description key InputsKey Key echoes back the key of the deleted InputsConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nInputsConfigDeleteSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] key contains a list of InputsConfig keys to delete\nInputsConfigDeleteSomeResponse InputsConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key InputsKey error string InputsConfigRequest Field Name Type Description key InputsKey Key uniquely identifies a InputsConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsConfigResponse Field Name Type Description value InputsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nInputsConfig instance in this response.\nInputsConfigSetRequest Field Name Type Description value InputsConfig InputsConfig carries the value to set into the datastore.\nSee the documentation on the InputsConfig struct for which fields are required.\nInputsConfigSetResponse Field Name Type Description value InputsConfig Value carries all the values given in the InputsConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nInputsConfigSetSomeRequest Field Name Type Description values InputsConfig[\u0026hellip;] value contains a list of InputsConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nInputsConfigSetSomeResponse Field Name Type Description key InputsKey error string InputsConfigSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsConfigSomeResponse Field Name Type Description value InputsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp InputsConfigStreamRequest Field Name Type Description partial_eq_filter InputsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each InputsConfig at end.\n* Each InputsConfig response is fully-specified (all fields set).\n* start: Returns the state of each InputsConfig at start, followed by updates until now.\n* Each InputsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each InputsConfig at start, followed by updates\nuntil end.\n* Each InputsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nInputsConfigStreamResponse Field Name Type Description value InputsConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this InputsConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the InputsConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nInputsRequest Field Name Type Description key InputsKey Key uniquely identifies a Inputs instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsResponse Field Name Type Description value Inputs Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nInputs instance in this response.\nInputsSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsSomeResponse Field Name Type Description value Inputs Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp InputsStreamRequest Field Name Type Description partial_eq_filter Inputs[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Inputs at end.\n* Each Inputs response is fully-specified (all fields set).\n* start: Returns the state of each Inputs at start, followed by updates until now.\n* Each Inputs response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Inputs at start, followed by updates\nuntil end.\n* Each Inputs response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nInputsStreamResponse Field Name Type Description value Inputs Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Inputs\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Inputs value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nSecretInputBatchedStreamRequest Field Name Type Description partial_eq_filter SecretInput[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecretInput at end.\n* Each SecretInput response is fully-specified (all fields set).\n* start: Returns the state of each SecretInput at start, followed by updates until now.\n* Each SecretInput response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecretInput at start, followed by updates\nuntil end.\n* Each SecretInput response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecretInputBatchedStreamResponse Field Name Type Description responses SecretInputStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecretInputRequest Field Name Type Description key InputsKey Key uniquely identifies a SecretInput instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecretInputResponse Field Name Type Description value SecretInput Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecretInput instance in this response.\nSecretInputSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecretInputSomeResponse Field Name Type Description value SecretInput Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecretInputStreamRequest Field Name Type Description partial_eq_filter SecretInput[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecretInput at end.\n* Each SecretInput response is fully-specified (all fields set).\n* start: Returns the state of each SecretInput at start, followed by updates until now.\n* Each SecretInput response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecretInput at start, followed by updates\nuntil end.\n* Each SecretInput response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecretInputStreamResponse Field Name Type Description value SecretInput Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecretInput\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecretInput value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nStudioBatchedStreamRequest Field Name Type Description partial_eq_filter Studio[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Studio at end.\n* Each Studio response is fully-specified (all fields set).\n* start: Returns the state of each Studio at start, followed by updates until now.\n* Each Studio response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Studio at start, followed by updates\nuntil end.\n* Each Studio response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nStudioBatchedStreamResponse Field Name Type Description responses StudioStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nStudioConfigBatchedStreamRequest Field Name Type Description partial_eq_filter StudioConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioConfig at end.\n* Each StudioConfig response is fully-specified (all fields set).\n* start: Returns the state of each StudioConfig at start, followed by updates until now.\n* Each StudioConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioConfig at start, followed by updates\nuntil end.\n* Each StudioConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nStudioConfigBatchedStreamResponse Field Name Type Description responses StudioConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nStudioConfigDeleteAllRequest Field Name Type Description partial_eq_filter StudioConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nStudioConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey StudioKey This is the key of the StudioConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nStudioConfigDeleteRequest Field Name Type Description key StudioKey Key indicates which StudioConfig instance to remove.\nThis field must always be set.\nStudioConfigDeleteResponse Field Name Type Description key StudioKey Key echoes back the key of the deleted StudioConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nStudioConfigDeleteSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] key contains a list of StudioConfig keys to delete\nStudioConfigDeleteSomeResponse StudioConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key StudioKey error string StudioConfigRequest Field Name Type Description key StudioKey Key uniquely identifies a StudioConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioConfigResponse Field Name Type Description value StudioConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nStudioConfig instance in this response.\nStudioConfigSetRequest Field Name Type Description value StudioConfig StudioConfig carries the value to set into the datastore.\nSee the documentation on the StudioConfig struct for which fields are required.\nStudioConfigSetResponse Field Name Type Description value StudioConfig Value carries all the values given in the StudioConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nStudioConfigSetSomeRequest Field Name Type Description values StudioConfig[\u0026hellip;] value contains a list of StudioConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nStudioConfigSetSomeResponse Field Name Type Description key StudioKey error string StudioConfigSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioConfigSomeResponse Field Name Type Description value StudioConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp StudioConfigStreamRequest Field Name Type Description partial_eq_filter StudioConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioConfig at end.\n* Each StudioConfig response is fully-specified (all fields set).\n* start: Returns the state of each StudioConfig at start, followed by updates until now.\n* Each StudioConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioConfig at start, followed by updates\nuntil end.\n* Each StudioConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nStudioConfigStreamResponse Field Name Type Description value StudioConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this StudioConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the StudioConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nStudioRequest Field Name Type Description key StudioKey Key uniquely identifies a Studio instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioResponse Field Name Type Description value Studio Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nStudio instance in this response.\nStudioSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioSomeResponse Field Name Type Description value Studio Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp StudioStreamRequest Field Name Type Description partial_eq_filter Studio[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Studio at end.\n* Each Studio response is fully-specified (all fields set).\n* start: Returns the state of each Studio at start, followed by updates until now.\n* Each Studio response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Studio at start, followed by updates\nuntil end.\n* Each Studio response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nStudioStreamResponse Field Name Type Description value Studio Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Studio\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Studio value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nStudioSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter StudioSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioSummary at end.\n* Each StudioSummary response is fully-specified (all fields set).\n* start: Returns the state of each StudioSummary at start, followed by updates until now.\n* Each StudioSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioSummary at start, followed by updates\nuntil end.\n* Each StudioSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nStudioSummaryBatchedStreamResponse Field Name Type Description responses StudioSummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nStudioSummaryRequest Field Name Type Description key StudioKey Key uniquely identifies a StudioSummary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioSummaryResponse Field Name Type Description value StudioSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nStudioSummary instance in this response.\nStudioSummarySomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioSummarySomeResponse Field Name Type Description value StudioSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp StudioSummaryStreamRequest Field Name Type Description partial_eq_filter StudioSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioSummary at end.\n* Each StudioSummary response is fully-specified (all fields set).\n* start: Returns the state of each StudioSummary at start, followed by updates until now.\n* Each StudioSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioSummary at start, followed by updates\nuntil end.\n* Each StudioSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nStudioSummaryStreamResponse Field Name Type Description value StudioSummary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this StudioSummary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the StudioSummary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAssignedTagsConfigService Method Name Request Type Response Type Description GetOne AssignedTagsConfigRequest AssignedTagsConfigResponse GetSome AssignedTagsConfigSomeRequest AssignedTagsConfigSomeResponse stream GetAll AssignedTagsConfigStreamRequest AssignedTagsConfigStreamResponse stream Subscribe AssignedTagsConfigStreamRequest AssignedTagsConfigStreamResponse stream GetMeta AssignedTagsConfigStreamRequest MetaResponse SubscribeMeta AssignedTagsConfigStreamRequest MetaResponse stream Set AssignedTagsConfigSetRequest AssignedTagsConfigSetResponse SetSome AssignedTagsConfigSetSomeRequest AssignedTagsConfigSetSomeResponse stream Delete AssignedTagsConfigDeleteRequest AssignedTagsConfigDeleteResponse DeleteSome AssignedTagsConfigDeleteSomeRequest AssignedTagsConfigDeleteSomeResponse stream DeleteAll AssignedTagsConfigDeleteAllRequest AssignedTagsConfigDeleteAllResponse stream GetAllBatched AssignedTagsConfigBatchedStreamRequest AssignedTagsConfigBatchedStreamResponse stream SubscribeBatched AssignedTagsConfigBatchedStreamRequest AssignedTagsConfigBatchedStreamResponse stream AssignedTagsService Method Name Request Type Response Type Description GetOne AssignedTagsRequest AssignedTagsResponse GetSome AssignedTagsSomeRequest AssignedTagsSomeResponse stream GetAll AssignedTagsStreamRequest AssignedTagsStreamResponse stream Subscribe AssignedTagsStreamRequest AssignedTagsStreamResponse stream GetMeta AssignedTagsStreamRequest MetaResponse SubscribeMeta AssignedTagsStreamRequest MetaResponse stream GetAllBatched AssignedTagsBatchedStreamRequest AssignedTagsBatchedStreamResponse stream SubscribeBatched AssignedTagsBatchedStreamRequest AssignedTagsBatchedStreamResponse stream AutofillActionConfigService Method Name Request Type Response Type Description GetOne AutofillActionConfigRequest AutofillActionConfigResponse GetSome AutofillActionConfigSomeRequest AutofillActionConfigSomeResponse stream GetAll AutofillActionConfigStreamRequest AutofillActionConfigStreamResponse stream Subscribe AutofillActionConfigStreamRequest AutofillActionConfigStreamResponse stream GetMeta AutofillActionConfigStreamRequest MetaResponse SubscribeMeta AutofillActionConfigStreamRequest MetaResponse stream Set AutofillActionConfigSetRequest AutofillActionConfigSetResponse SetSome AutofillActionConfigSetSomeRequest AutofillActionConfigSetSomeResponse stream Delete AutofillActionConfigDeleteRequest AutofillActionConfigDeleteResponse DeleteSome AutofillActionConfigDeleteSomeRequest AutofillActionConfigDeleteSomeResponse stream DeleteAll AutofillActionConfigDeleteAllRequest AutofillActionConfigDeleteAllResponse stream GetAllBatched AutofillActionConfigBatchedStreamRequest AutofillActionConfigBatchedStreamResponse stream SubscribeBatched AutofillActionConfigBatchedStreamRequest AutofillActionConfigBatchedStreamResponse stream AutofillActionService Method Name Request Type Response Type Description GetOne AutofillActionRequest AutofillActionResponse GetSome AutofillActionSomeRequest AutofillActionSomeResponse stream GetAll AutofillActionStreamRequest AutofillActionStreamResponse stream Subscribe AutofillActionStreamRequest AutofillActionStreamResponse stream GetMeta AutofillActionStreamRequest MetaResponse SubscribeMeta AutofillActionStreamRequest MetaResponse stream GetAllBatched AutofillActionBatchedStreamRequest AutofillActionBatchedStreamResponse stream SubscribeBatched AutofillActionBatchedStreamRequest AutofillActionBatchedStreamResponse stream InputsConfigService Method Name Request Type Response Type Description GetOne InputsConfigRequest InputsConfigResponse GetSome InputsConfigSomeRequest InputsConfigSomeResponse stream GetAll InputsConfigStreamRequest InputsConfigStreamResponse stream Subscribe InputsConfigStreamRequest InputsConfigStreamResponse stream GetMeta InputsConfigStreamRequest MetaResponse SubscribeMeta InputsConfigStreamRequest MetaResponse stream Set InputsConfigSetRequest InputsConfigSetResponse SetSome InputsConfigSetSomeRequest InputsConfigSetSomeResponse stream Delete InputsConfigDeleteRequest InputsConfigDeleteResponse DeleteSome InputsConfigDeleteSomeRequest InputsConfigDeleteSomeResponse stream DeleteAll InputsConfigDeleteAllRequest InputsConfigDeleteAllResponse stream GetAllBatched InputsConfigBatchedStreamRequest InputsConfigBatchedStreamResponse stream SubscribeBatched InputsConfigBatchedStreamRequest InputsConfigBatchedStreamResponse stream InputsService Method Name Request Type Response Type Description GetOne InputsRequest InputsResponse GetSome InputsSomeRequest InputsSomeResponse stream GetAll InputsStreamRequest InputsStreamResponse stream Subscribe InputsStreamRequest InputsStreamResponse stream GetMeta InputsStreamRequest MetaResponse SubscribeMeta InputsStreamRequest MetaResponse stream GetAllBatched InputsBatchedStreamRequest InputsBatchedStreamResponse stream SubscribeBatched InputsBatchedStreamRequest InputsBatchedStreamResponse stream SecretInputService Method Name Request Type Response Type Description GetOne SecretInputRequest SecretInputResponse GetSome SecretInputSomeRequest SecretInputSomeResponse stream GetAll SecretInputStreamRequest SecretInputStreamResponse stream Subscribe SecretInputStreamRequest SecretInputStreamResponse stream GetMeta SecretInputStreamRequest MetaResponse SubscribeMeta SecretInputStreamRequest MetaResponse stream GetAllBatched SecretInputBatchedStreamRequest SecretInputBatchedStreamResponse stream SubscribeBatched SecretInputBatchedStreamRequest SecretInputBatchedStreamResponse stream StudioConfigService Method Name Request Type Response Type Description GetOne StudioConfigRequest StudioConfigResponse GetSome StudioConfigSomeRequest StudioConfigSomeResponse stream GetAll StudioConfigStreamRequest StudioConfigStreamResponse stream Subscribe StudioConfigStreamRequest StudioConfigStreamResponse stream GetMeta StudioConfigStreamRequest MetaResponse SubscribeMeta StudioConfigStreamRequest MetaResponse stream Set StudioConfigSetRequest StudioConfigSetResponse SetSome StudioConfigSetSomeRequest StudioConfigSetSomeResponse stream Delete StudioConfigDeleteRequest StudioConfigDeleteResponse DeleteSome StudioConfigDeleteSomeRequest StudioConfigDeleteSomeResponse stream DeleteAll StudioConfigDeleteAllRequest StudioConfigDeleteAllResponse stream GetAllBatched StudioConfigBatchedStreamRequest StudioConfigBatchedStreamResponse stream SubscribeBatched StudioConfigBatchedStreamRequest StudioConfigBatchedStreamResponse stream StudioService Method Name Request Type Response Type Description GetOne StudioRequest StudioResponse GetSome StudioSomeRequest StudioSomeResponse stream GetAll StudioStreamRequest StudioStreamResponse stream Subscribe StudioStreamRequest StudioStreamResponse stream GetMeta StudioStreamRequest MetaResponse SubscribeMeta StudioStreamRequest MetaResponse stream GetAllBatched StudioBatchedStreamRequest StudioBatchedStreamResponse stream SubscribeBatched StudioBatchedStreamRequest StudioBatchedStreamResponse stream StudioSummaryService Method Name Request Type Response Type Description GetOne StudioSummaryRequest StudioSummaryResponse GetSome StudioSummarySomeRequest StudioSummarySomeResponse stream GetAll StudioSummaryStreamRequest StudioSummaryStreamResponse stream Subscribe StudioSummaryStreamRequest StudioSummaryStreamResponse stream GetMeta StudioSummaryStreamRequest MetaResponse SubscribeMeta StudioSummaryStreamRequest MetaResponse stream GetAllBatched StudioSummaryBatchedStreamRequest StudioSummaryBatchedStreamResponse stream SubscribeBatched StudioSummaryBatchedStreamRequest StudioSummaryBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/tag.v2/","title":"tag.v2","tags":[],"description":"","content":" arista/tag.v2/tag.proto\nTag\nTagAssignment\nTagAssignmentConfig\nTagAssignmentKey\nTagConfig\nTagKey\nCreatorType\nElementSubType\nElementType\narista/tag.v2/services.gen.proto\nMetaResponse\nTagAssignmentBatchedStreamRequest\nTagAssignmentBatchedStreamResponse\nTagAssignmentConfigBatchedStreamRequest\nTagAssignmentConfigBatchedStreamResponse\nTagAssignmentConfigDeleteAllRequest\nTagAssignmentConfigDeleteAllResponse\nTagAssignmentConfigDeleteRequest\nTagAssignmentConfigDeleteResponse\nTagAssignmentConfigDeleteSomeRequest\nTagAssignmentConfigDeleteSomeResponse\nTagAssignmentConfigRequest\nTagAssignmentConfigResponse\nTagAssignmentConfigSetRequest\nTagAssignmentConfigSetResponse\nTagAssignmentConfigSetSomeRequest\nTagAssignmentConfigSetSomeResponse\nTagAssignmentConfigSomeRequest\nTagAssignmentConfigSomeResponse\nTagAssignmentConfigStreamRequest\nTagAssignmentConfigStreamResponse\nTagAssignmentRequest\nTagAssignmentResponse\nTagAssignmentSomeRequest\nTagAssignmentSomeResponse\nTagAssignmentStreamRequest\nTagAssignmentStreamResponse\nTagBatchedStreamRequest\nTagBatchedStreamResponse\nTagConfigBatchedStreamRequest\nTagConfigBatchedStreamResponse\nTagConfigDeleteAllRequest\nTagConfigDeleteAllResponse\nTagConfigDeleteRequest\nTagConfigDeleteResponse\nTagConfigDeleteSomeRequest\nTagConfigDeleteSomeResponse\nTagConfigRequest\nTagConfigResponse\nTagConfigSetRequest\nTagConfigSetResponse\nTagConfigSetSomeRequest\nTagConfigSetSomeResponse\nTagConfigSomeRequest\nTagConfigSomeResponse\nTagConfigStreamRequest\nTagConfigStreamResponse\nTagRequest\nTagResponse\nTagSomeRequest\nTagSomeResponse\nTagStreamRequest\nTagStreamResponse\nTagAssignmentConfigService\nTagAssignmentService\nTagConfigService\nTagService\nTop\narista/tag.v2/tag.proto Tag Tag holds a merge-preview or the existing merged state (if the workspace ID is \u0026ldquo;\u0026rdquo;) of a tag.\nField Name Type Description key TagKey key identifies a tag.\ncreator_type CreatorType creator_type is the creator type of the tag.\nTagAssignment TagAssignment holds a merge-preview or the existing merged state (if the workspace ID is \u0026ldquo;\u0026rdquo;) of an assignment between a tag and a network element.\nField Name Type Description key TagAssignmentKey key identifies an assignment.\ntag_creator_type CreatorType tag_creator_type is the creator type of the tag\ninvolved in the assignment.\nTagAssignmentConfig TagAssignmentConfig holds a configuration for an assignment between a tag and a network element. The tag assignments that belong to entities other than ELEMENT_SUB_TYPE_DEVICE will always be present in mainline only.\nField Name Type Description key TagAssignmentKey key identifies an assignment. The special workspace ID \u0026ldquo;\u0026quot;\nfor merged assignments should not be set here.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the assignment identified by the key if the\nencompassing workspace merges.\nTagAssignmentKey TagAssignmentKey uniquely identifies an assignment between a tag and a network element.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of a workspace. The special ID \u0026ldquo;\u0026quot;\nidentifies the location where merged assignments reside.\nelement_type ElementType element_type is the element type of a tag. What should\nbe set per element type:\nELEMENT_TYPE_DEVICE: device_id\nELEMENT_TYPE_INTERFACE: device_id, interface_id\nlabel google.protobuf.StringValue label is the label of a tag.\nvalue google.protobuf.StringValue value is the value of a tag.\ndevice_id google.protobuf.StringValue device_id identifies a device.\ninterface_id google.protobuf.StringValue interface_id identifies an interface on a device.\nelement_sub_type ElementSubType element_sub_type is the element sub-type of a tag.\nTagConfig TagConfig holds a configuration for a user tag. The tags that belong to entities other than ELEMENT_SUB_TYPE_DEVICE will always be present in mainline only.\nField Name Type Description key TagKey key identifies a tag. The special workspace ID \u0026quot;\u0026rdquo; for\nmerged tags should not be set here.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the tag identified by the key if the encompassing\nworkspace merges.\nTagKey TagKey uniquely identifies a tag.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of a workspace. The special ID \u0026ldquo;\u0026quot;\nidentifies the location where merged tags reside.\nelement_type ElementType element_type is the category of network element to which\nthis tag can be assigned.\nlabel google.protobuf.StringValue label is an arbitrary label.\nvalue google.protobuf.StringValue value is an arbitrary value.\nelement_sub_type ElementSubType element_sub_type is the sub-category of network element\nto which this tag can be assigned.\nCreatorType CreatorType enumerates the types of entities that can create a tag.\nName Number Description CREATOR_TYPE_UNSPECIFIED 0 CREATOR_TYPE_UNSPECIFIED is the default value.\nCREATOR_TYPE_SYSTEM 1 CREATOR_TYPE_SYSTEM is used for system tags.\nCREATOR_TYPE_USER 2 CREATOR_TYPE_USER is used for user tags.\nCREATOR_TYPE_EXTERNAL 3 CREATOR_TYPE_EXTERNAL is used for tags created from external sources.\nFor E.g., vCenter\nElementSubType ElementSubType enumerates the sub-types of network elements that can be associated with tags.\nName Number Description ELEMENT_SUB_TYPE_UNSPECIFIED 0 ELEMENT_SUB_TYPE_UNSPECIFIED is the default value.\nELEMENT_SUB_TYPE_DEVICE 1 ELEMENT_SUB_TYPE_DEVICE is used for EOS or\nthird-party devices discovered via LLDP/SNMP.\nELEMENT_SUB_TYPE_VDS 2 ELEMENT_SUB_TYPE_VDS is used for VMWare vSphere Distributed Switch (VDS) tags.\nELEMENT_SUB_TYPE_WORKLOAD_SERVER 3 ELEMENT_SUB_TYPE_WORKLOAD_SERVER is used for workload server\ntags (such as VMWare ESXi host).\nA workload server is a server/data storage device on which\nthe hypervisor is installed.\nELEMENT_SUB_TYPE_VM 4 ELEMENT_SUB_TYPE_VM is used for VM tags.\nA VM is a software computer that, like a physical computer,\nruns an operating system and applications.\nElementType ElementType enumerates the types of network elements that can be associated with tags.\nName Number Description ELEMENT_TYPE_UNSPECIFIED 0 ELEMENT_TYPE_UNSPECIFIED is the default value.\nELEMENT_TYPE_DEVICE 1 ELEMENT_TYPE_DEVICE is used for device tags.\nELEMENT_TYPE_INTERFACE 2 ELEMENT_TYPE_INTERFACE is used for interface tags.\nTop\narista/tag.v2/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nTagAssignmentBatchedStreamRequest Field Name Type Description partial_eq_filter TagAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignment at end.\n* Each TagAssignment response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignment at start, followed by updates until now.\n* Each TagAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignment at start, followed by updates\nuntil end.\n* Each TagAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagAssignmentBatchedStreamResponse Field Name Type Description responses TagAssignmentStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagAssignmentConfigBatchedStreamRequest Field Name Type Description partial_eq_filter TagAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignmentConfig at end.\n* Each TagAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignmentConfig at start, followed by updates until now.\n* Each TagAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignmentConfig at start, followed by updates\nuntil end.\n* Each TagAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagAssignmentConfigBatchedStreamResponse Field Name Type Description responses TagAssignmentConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagAssignmentConfigDeleteAllRequest Field Name Type Description partial_eq_filter TagAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nTagAssignmentConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TagAssignmentKey This is the key of the TagAssignmentConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTagAssignmentConfigDeleteRequest Field Name Type Description key TagAssignmentKey Key indicates which TagAssignmentConfig instance to remove.\nThis field must always be set.\nTagAssignmentConfigDeleteResponse Field Name Type Description key TagAssignmentKey Key echoes back the key of the deleted TagAssignmentConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTagAssignmentConfigDeleteSomeRequest Field Name Type Description keys TagAssignmentKey[\u0026hellip;] key contains a list of TagAssignmentConfig keys to delete\nTagAssignmentConfigDeleteSomeResponse TagAssignmentConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TagAssignmentKey error string TagAssignmentConfigRequest Field Name Type Description key TagAssignmentKey Key uniquely identifies a TagAssignmentConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentConfigResponse Field Name Type Description value TagAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTagAssignmentConfig instance in this response.\nTagAssignmentConfigSetRequest Field Name Type Description value TagAssignmentConfig TagAssignmentConfig carries the value to set into the datastore.\nSee the documentation on the TagAssignmentConfig struct for which fields are required.\nTagAssignmentConfigSetResponse Field Name Type Description value TagAssignmentConfig Value carries all the values given in the TagAssignmentConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTagAssignmentConfigSetSomeRequest Field Name Type Description values TagAssignmentConfig[\u0026hellip;] value contains a list of TagAssignmentConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTagAssignmentConfigSetSomeResponse Field Name Type Description key TagAssignmentKey error string TagAssignmentConfigSomeRequest Field Name Type Description keys TagAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentConfigSomeResponse Field Name Type Description value TagAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagAssignmentConfigStreamRequest Field Name Type Description partial_eq_filter TagAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignmentConfig at end.\n* Each TagAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignmentConfig at start, followed by updates until now.\n* Each TagAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignmentConfig at start, followed by updates\nuntil end.\n* Each TagAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagAssignmentConfigStreamResponse Field Name Type Description value TagAssignmentConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TagAssignmentConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TagAssignmentConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagAssignmentRequest Field Name Type Description key TagAssignmentKey Key uniquely identifies a TagAssignment instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentResponse Field Name Type Description value TagAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTagAssignment instance in this response.\nTagAssignmentSomeRequest Field Name Type Description keys TagAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentSomeResponse Field Name Type Description value TagAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagAssignmentStreamRequest Field Name Type Description partial_eq_filter TagAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignment at end.\n* Each TagAssignment response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignment at start, followed by updates until now.\n* Each TagAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignment at start, followed by updates\nuntil end.\n* Each TagAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagAssignmentStreamResponse Field Name Type Description value TagAssignment Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TagAssignment\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TagAssignment value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagBatchedStreamRequest Field Name Type Description partial_eq_filter Tag[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Tag at end.\n* Each Tag response is fully-specified (all fields set).\n* start: Returns the state of each Tag at start, followed by updates until now.\n* Each Tag response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Tag at start, followed by updates\nuntil end.\n* Each Tag response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagBatchedStreamResponse Field Name Type Description responses TagStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagConfigBatchedStreamRequest Field Name Type Description partial_eq_filter TagConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagConfig at end.\n* Each TagConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagConfig at start, followed by updates until now.\n* Each TagConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagConfig at start, followed by updates\nuntil end.\n* Each TagConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagConfigBatchedStreamResponse Field Name Type Description responses TagConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagConfigDeleteAllRequest Field Name Type Description partial_eq_filter TagConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nTagConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TagKey This is the key of the TagConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTagConfigDeleteRequest Field Name Type Description key TagKey Key indicates which TagConfig instance to remove.\nThis field must always be set.\nTagConfigDeleteResponse Field Name Type Description key TagKey Key echoes back the key of the deleted TagConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTagConfigDeleteSomeRequest Field Name Type Description keys TagKey[\u0026hellip;] key contains a list of TagConfig keys to delete\nTagConfigDeleteSomeResponse TagConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TagKey error string TagConfigRequest Field Name Type Description key TagKey Key uniquely identifies a TagConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagConfigResponse Field Name Type Description value TagConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTagConfig instance in this response.\nTagConfigSetRequest Field Name Type Description value TagConfig TagConfig carries the value to set into the datastore.\nSee the documentation on the TagConfig struct for which fields are required.\nTagConfigSetResponse Field Name Type Description value TagConfig Value carries all the values given in the TagConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTagConfigSetSomeRequest Field Name Type Description values TagConfig[\u0026hellip;] value contains a list of TagConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTagConfigSetSomeResponse Field Name Type Description key TagKey error string TagConfigSomeRequest Field Name Type Description keys TagKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagConfigSomeResponse Field Name Type Description value TagConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagConfigStreamRequest Field Name Type Description partial_eq_filter TagConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagConfig at end.\n* Each TagConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagConfig at start, followed by updates until now.\n* Each TagConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagConfig at start, followed by updates\nuntil end.\n* Each TagConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagConfigStreamResponse Field Name Type Description value TagConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TagConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TagConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagRequest Field Name Type Description key TagKey Key uniquely identifies a Tag instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagResponse Field Name Type Description value Tag Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTag instance in this response.\nTagSomeRequest Field Name Type Description keys TagKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagSomeResponse Field Name Type Description value Tag Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagStreamRequest Field Name Type Description partial_eq_filter Tag[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Tag at end.\n* Each Tag response is fully-specified (all fields set).\n* start: Returns the state of each Tag at start, followed by updates until now.\n* Each Tag response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Tag at start, followed by updates\nuntil end.\n* Each Tag response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagStreamResponse Field Name Type Description value Tag Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Tag\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Tag value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagAssignmentConfigService Method Name Request Type Response Type Description GetOne TagAssignmentConfigRequest TagAssignmentConfigResponse GetSome TagAssignmentConfigSomeRequest TagAssignmentConfigSomeResponse stream GetAll TagAssignmentConfigStreamRequest TagAssignmentConfigStreamResponse stream Subscribe TagAssignmentConfigStreamRequest TagAssignmentConfigStreamResponse stream GetMeta TagAssignmentConfigStreamRequest MetaResponse SubscribeMeta TagAssignmentConfigStreamRequest MetaResponse stream Set TagAssignmentConfigSetRequest TagAssignmentConfigSetResponse SetSome TagAssignmentConfigSetSomeRequest TagAssignmentConfigSetSomeResponse stream Delete TagAssignmentConfigDeleteRequest TagAssignmentConfigDeleteResponse DeleteSome TagAssignmentConfigDeleteSomeRequest TagAssignmentConfigDeleteSomeResponse stream DeleteAll TagAssignmentConfigDeleteAllRequest TagAssignmentConfigDeleteAllResponse stream GetAllBatched TagAssignmentConfigBatchedStreamRequest TagAssignmentConfigBatchedStreamResponse stream SubscribeBatched TagAssignmentConfigBatchedStreamRequest TagAssignmentConfigBatchedStreamResponse stream TagAssignmentService Method Name Request Type Response Type Description GetOne TagAssignmentRequest TagAssignmentResponse GetSome TagAssignmentSomeRequest TagAssignmentSomeResponse stream GetAll TagAssignmentStreamRequest TagAssignmentStreamResponse stream Subscribe TagAssignmentStreamRequest TagAssignmentStreamResponse stream GetMeta TagAssignmentStreamRequest MetaResponse SubscribeMeta TagAssignmentStreamRequest MetaResponse stream GetAllBatched TagAssignmentBatchedStreamRequest TagAssignmentBatchedStreamResponse stream SubscribeBatched TagAssignmentBatchedStreamRequest TagAssignmentBatchedStreamResponse stream TagConfigService Method Name Request Type Response Type Description GetOne TagConfigRequest TagConfigResponse GetSome TagConfigSomeRequest TagConfigSomeResponse stream GetAll TagConfigStreamRequest TagConfigStreamResponse stream Subscribe TagConfigStreamRequest TagConfigStreamResponse stream GetMeta TagConfigStreamRequest MetaResponse SubscribeMeta TagConfigStreamRequest MetaResponse stream Set TagConfigSetRequest TagConfigSetResponse SetSome TagConfigSetSomeRequest TagConfigSetSomeResponse stream Delete TagConfigDeleteRequest TagConfigDeleteResponse DeleteSome TagConfigDeleteSomeRequest TagConfigDeleteSomeResponse stream DeleteAll TagConfigDeleteAllRequest TagConfigDeleteAllResponse stream GetAllBatched TagConfigBatchedStreamRequest TagConfigBatchedStreamResponse stream SubscribeBatched TagConfigBatchedStreamRequest TagConfigBatchedStreamResponse stream TagService Method Name Request Type Response Type Description GetOne TagRequest TagResponse GetSome TagSomeRequest TagSomeResponse stream GetAll TagStreamRequest TagStreamResponse stream Subscribe TagStreamRequest TagStreamResponse stream GetMeta TagStreamRequest MetaResponse SubscribeMeta TagStreamRequest MetaResponse stream GetAllBatched TagBatchedStreamRequest TagBatchedStreamResponse stream SubscribeBatched TagBatchedStreamRequest TagBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/tags/","title":"Tags","tags":[],"description":"","content":""},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/workspace.v1/","title":"workspace.v1","tags":[],"description":"","content":" arista/workspace.v1/workspace.proto\nAuthzResult\nBuildStageState\nBuildStageState.ValuesEntry\nConfigValidationResult\nConfigletBuildResult\nConfigletBuildResults\nConfigletBuildResults.ValuesEntry\nImageValidationResult\nInputError\nInputErrors\nInputValidationResult\nInputValidationResults\nInputValidationResults.ValuesEntry\nRequestParams\nResponse\nResponses\nResponses.ValuesEntry\nTemplateError\nTemplateErrors\nWorkspace\nWorkspaceBuild\nWorkspaceBuildDetails\nWorkspaceBuildDetailsKey\nWorkspaceBuildKey\nWorkspaceConfig\nWorkspaceKey\nBuildStage\nBuildState\nConfigValidationSkipCause\nDeviceAuthzStatus\nImageValidationSkipCause\nRequest\nResponseCode\nResponseStatus\nWorkspaceState\narista/workspace.v1/services.gen.proto\nMetaResponse\nWorkspaceBatchedStreamRequest\nWorkspaceBatchedStreamResponse\nWorkspaceBuildBatchedStreamRequest\nWorkspaceBuildBatchedStreamResponse\nWorkspaceBuildDetailsBatchedStreamRequest\nWorkspaceBuildDetailsBatchedStreamResponse\nWorkspaceBuildDetailsRequest\nWorkspaceBuildDetailsResponse\nWorkspaceBuildDetailsSomeRequest\nWorkspaceBuildDetailsSomeResponse\nWorkspaceBuildDetailsStreamRequest\nWorkspaceBuildDetailsStreamResponse\nWorkspaceBuildRequest\nWorkspaceBuildResponse\nWorkspaceBuildSomeRequest\nWorkspaceBuildSomeResponse\nWorkspaceBuildStreamRequest\nWorkspaceBuildStreamResponse\nWorkspaceConfigBatchedStreamRequest\nWorkspaceConfigBatchedStreamResponse\nWorkspaceConfigDeleteAllRequest\nWorkspaceConfigDeleteAllResponse\nWorkspaceConfigDeleteRequest\nWorkspaceConfigDeleteResponse\nWorkspaceConfigDeleteSomeRequest\nWorkspaceConfigDeleteSomeResponse\nWorkspaceConfigRequest\nWorkspaceConfigResponse\nWorkspaceConfigSetRequest\nWorkspaceConfigSetResponse\nWorkspaceConfigSetSomeRequest\nWorkspaceConfigSetSomeResponse\nWorkspaceConfigSomeRequest\nWorkspaceConfigSomeResponse\nWorkspaceConfigStreamRequest\nWorkspaceConfigStreamResponse\nWorkspaceRequest\nWorkspaceResponse\nWorkspaceSomeRequest\nWorkspaceSomeResponse\nWorkspaceStreamRequest\nWorkspaceStreamResponse\nWorkspaceBuildDetailsService\nWorkspaceBuildService\nWorkspaceConfigService\nWorkspaceService\nTop\narista/workspace.v1/workspace.proto AuthzResult AuthzResult has the result of the authorization check for workspace changes.\nField Name Type Description has_unauthorized_tag_change google.protobuf.BoolValue has_unauthorized_tag_change is true when there is a tag assignment that results\nin change in permissions and the subject is not authorized to do it.\nhas_unauthorized_device_change google.protobuf.BoolValue has_unauthorized_device_change is true when there is atleast 1 device\nfor which the subject doesn\u0026rsquo;t have provision permission.\nerror google.protobuf.StringValue error is an error message that is set when either of the above values\nare true.\nBuildStageState BuildStageState holds the state per build stage.\nField Name Type Description values BuildStageState.ValuesEntry[\u0026hellip;] values is a map from build stage to build state.\nThe possible keys to this map are BUILD_STAGE_UNSPECIFIED,\nBUILD_STAGE_INPUT_VALIDATION, BUILD_STAGE_CONFIGLET_BUILD,\nBUILD_STAGE_CONFIG_VALIDATION and BUILD_STAGE_IMAGE_VALIDATION.\nBuildStageState.ValuesEntry Field Name Type Description key string value BuildState ConfigValidationResult ConfigValidationResult holds the result of a config validation stage.\nField Name Type Description summary arista.configstatus.v1.ConfigSummary summary is a summary of the changes to the previous config.\nerrors arista.configstatus.v1.ConfigErrors errors are any errors detected in the generated config.\nwarnings arista.configstatus.v1.ConfigErrors warnings are any warnings about the generated config.\nconfig_sources arista.configstatus.v1.ConfigSources config_sources identify the entities that generated the config.\nConfigletBuildResult ConfigletBuildResult holds the result of a configlet build stage.\nField Name Type Description template_errors TemplateErrors template_errors are errors that occured during studio template evaluation.\ngenerated_config google.protobuf.StringValue generated_config is the EOS CLI config that was generated from the stage.\nother_error google.protobuf.StringValue other_error is any other miscellaneous error.\nexecution_id google.protobuf.StringValue execution_id is the unique ID for the execution of the template. This ID\ncan be used to retrieve logs generated by the template.\ninput_errors InputErrors input_errors are errors in input fields that are raised by the template.\nConfigletBuildResults ConfigletBuildResults is a collection of ConfigletBuildResult (one per studio).\nField Name Type Description values ConfigletBuildResults.ValuesEntry[\u0026hellip;] values is a map from studio ID to ConfigletBuildResult.\nConfigletBuildResults.ValuesEntry Field Name Type Description key string value ConfigletBuildResult ImageValidationResult ImageValidationResult holds the result of an image validation stage.\nField Name Type Description summary arista.imagestatus.v1.ImageSummary summary is a summary of the changes to the previous image.\nerrors arista.imagestatus.v1.ImageErrors errors are any errors detected in the generated image.\nwarnings arista.imagestatus.v1.ImageWarnings warnings are any warnings about the generated image.\nimage_input_error google.protobuf.StringValue image_input_error indicates any errors in image inputs.\nInputError InputError holds the details for an error on a studio input field or value.\nField Name Type Description field_id google.protobuf.StringValue field_id is the ID of the input field.\npath fmp.RepeatedString path is the path leading up to the input field.\nmembers fmp.RepeatedString members are the members of the input field (if it is a group).\nmessage google.protobuf.StringValue message is the error message.\nInputErrors InputErrors is a list of InputError.\nField Name Type Description values InputError[\u0026hellip;] values is a list of InputError.\nInputValidationResult InputValidationResult holds the result of an input validation build stage.\nField Name Type Description input_schema_errors InputErrors input_schema_errors are errors for fields in the input schema.\ninput_value_errors InputErrors input_value_errors are errors for values assigned to fields in the input schema.\nother_errors fmp.RepeatedString other_errors are other miscellaneous errors.\nInputValidationResults InputValidationResults is a collection of InputValidationResult (one per studio).\nField Name Type Description values InputValidationResults.ValuesEntry[\u0026hellip;] values is map from studio ID to InputValidationResult.\nInputValidationResults.ValuesEntry Field Name Type Description key string value InputValidationResult RequestParams RequestParams define the parameters for a Request.\nField Name Type Description request_id google.protobuf.StringValue request_id is the unique ID of the request. This is used to identify\nthe Response for the request in Responses.\nResponse Response is a response to a Request.\nField Name Type Description status ResponseStatus status is the execution status of the response.\nmessage google.protobuf.StringValue message is a string that provides more details about the response.\ncode ResponseCode code is the code of the response.\nResponses Responses is a collection of responses for completed requests.\nField Name Type Description values Responses.ValuesEntry[\u0026hellip;] values is a map from request ID to Response.\nResponses.ValuesEntry Field Name Type Description key string value Response TemplateError TemplateError holds details for an error that occured while evaluating a studio template against its inputs.\nField Name Type Description line_num google.protobuf.UInt32Value line_num is the number of the line on which the error occurred.\nexception google.protobuf.StringValue exception is the type of the exception thrown during the script execution.\nE.g., AssertionError, etc.\ndetail google.protobuf.StringValue detail holds the details of the exception. E.g., a full backtrace.\nexception_msg google.protobuf.StringValue exception_msg is the message of the exception thrown during the script execution.\nTemplateErrors TemplateErrors is a list of TemplateError.\nField Name Type Description values TemplateError[\u0026hellip;] values is a list of TemplateError.\nWorkspace Workspace holds the status of a workspace.\nField Name Type Description key WorkspaceKey key identifies the workspace.\ncreated_at google.protobuf.Timestamp created_at indicates when the workspace was created.\ncreated_by google.protobuf.StringValue created_by indicates who created the workspace.\nlast_modified_at google.protobuf.Timestamp last_modified_at indicates when the workspace was last updated.\nlast_modified_by google.protobuf.StringValue last_modified_by indicates who last updated the workspace.\nstate WorkspaceState state describes the status of the workspace.\nlast_build_id google.protobuf.StringValue last_build_id is the last build ID that was set in a WorkspaceBuild\nfor this workspace.\nresponses Responses responses are the responses for all requests that have been executed\nthusfar for this workspace.\ncc_ids fmp.RepeatedString cc_ids are the IDs of any change controls that were created as a result\nof submitting this workspace.\nneeds_build google.protobuf.BoolValue needs_build indicates whether a rebuild of the workspace is necessary\nin order to submit it.\nlast_rebased_at google.protobuf.Timestamp last_rebased_at indicates when the workspace was last rebased.\nneeds_rebase google.protobuf.BoolValue needs_rebase indicates whether a rebase of the workspace is necessary\nin order to submit it.\ndisplay_name google.protobuf.StringValue display_name is the user-defined name of the workspace.\ndescription google.protobuf.StringValue description is a brief description of the workspace.\nWorkspaceBuild WorkspaceBuild holds the details for a build of a workspace.\nField Name Type Description key WorkspaceBuildKey key identifies the build.\nstate BuildState state is the execution status of the build.\nerror google.protobuf.StringValue error is an error message that is set if the build fails early before\nthe per-device build result is computed.\nbuilt_by google.protobuf.StringValue built_by is the details of subject who built the workspace.\nauthz_result AuthzResult authz_result has the result of authorization check.\nWorkspaceBuildDetails WorkspaceBuildDetails holds the details for a build of a device in a workspace.\nField Name Type Description key WorkspaceBuildDetailsKey key identifies the build.\nstate BuildState state is the execution status of the build.\nstage BuildStage stage is the stage of the build.\ninput_validation_results InputValidationResults input_validation_results are the results of the input validation stage.\nconfiglet_build_results ConfigletBuildResults configlet_build_results are the results of the configlet build stage.\nconfig_validation_result ConfigValidationResult config_validation_result is the result of the config validation stage.\nimage_validation_result ImageValidationResult image_validation_result is the result of the image validation stage.\nconfig_validation_skip_cause ConfigValidationSkipCause config_validation_skip_cause is the reason, if any, that the config\nvalidation stage was skipped.\nimage_validation_skip_cause ImageValidationSkipCause image_validation_skip_cause is the reason, if any, that the image\nvalidation stage was skipped.\nbuild_stage_state BuildStageState build_stage_state is the state for each build stage.\nauthz_status DeviceAuthzStatus authz_status is the status of provision permission for the device.\nWorkspaceBuildDetailsKey WorkspaceBuildDetailsKey uniquely identifies a build for a particular device in a workspace.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of the workspace.\nbuild_id google.protobuf.StringValue build_id is the ID of the build.\ndevice_id google.protobuf.StringValue device_id is the ID of the device.\nWorkspaceBuildKey WorkspaceBuildKey uniquely identifies a build for a workspace.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of the workspace.\nbuild_id google.protobuf.StringValue build_id is the ID of the build.\nWorkspaceConfig WorkspaceConfig holds the configuration of a workspace.\nField Name Type Description key WorkspaceKey key identifies the workspace.\ndisplay_name google.protobuf.StringValue display_name is the user-defined name of the workspace.\ndescription google.protobuf.StringValue description is a brief description of the workspace.\nrequest Request request (if not REQUEST_UNSPECIFIED) kicks off an asynchronous operation\non the workspace.\nrequest_params RequestParams request_params specify the parameters for request.\nWorkspaceKey WorkspaceKey uniquely identifies a workspace.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the unique ID of the workspace.\nBuildStage BuildStage enumerates the types of stages of a build of a workspace.\nName Number Description BUILD_STAGE_UNSPECIFIED 0 BUILD_STAGE_UNSPECIFIED indicates unspecified build stage.\nBUILD_STAGE_INPUT_VALIDATION 1 BUILD_STAGE_INPUT_VALIDATION describes the stage that detects input\nerrors in studios based on their schemas.\nBUILD_STAGE_CONFIGLET_BUILD 2 BUILD_STAGE_CONFIGLET_BUILD describes the stage that generates EOS CLI\nconfigs and images for devices by evaluating studio templates against\ntheir inputs.\nBUILD_STAGE_CONFIG_VALIDATION 3 BUILD_STAGE_CONFIG_VALIDATION describes the stage that validates the\ngenerated EOS CLI configs (e.g., checks for errors in the config).\nBUILD_STAGE_IMAGE_VALIDATION 4 BUILD_STAGE_IMAGE_VALIDATION describes the stage that validates the\ngenerated images (e.g., checks device compatibility).\nBuildState BuildState enumerates the set of states that a BuildStage can be in during a workspace build cycle.\nName Number Description BUILD_STATE_UNSPECIFIED 0 BUILD_STATE_UNSPECIFIED indicates unspecified build state.\nBUILD_STATE_IN_PROGRESS 1 BUILD_STATE_IN_PROGRESS indicates that the BuildStage was started but has\nnot yet completed.\nBUILD_STATE_CANCELED 2 BUILD_STATE_CANCELED indicates that the BuildStage was started but then\nstopped before completion.\nBUILD_STATE_SUCCESS 3 BUILD_STATE_SUCCESS indicates that the BuildStage was started and ran to\ncompletion successfully.\nBUILD_STATE_FAIL 4 BUILD_STATE_FAIL indicates that the BuildStage was started and ran to\ncompletion unsuccessfully.\nBUILD_STATE_SKIPPED 5 BUILD_STATE_SKIPPED indicates that the BuildStage was not run.\nConfigValidationSkipCause ConfigValidationSkipCause enumerates the set of reasons a device can skip the config validation stage.\nName Number Description CONFIG_VALIDATION_SKIP_CAUSE_UNSPECIFIED 0 CONFIG_VALIDATION_SKIP_CAUSE_UNSPECIFIED indicates config validation skip cause is\nunspecified.\nCONFIG_VALIDATION_SKIP_CAUSE_INACTIVE 1 CONFIG_VALIDATION_SKIP_CAUSE_INACTIVE indicates that the stage was skipped\nbecause the device is not streaming.\nCONFIG_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED 2 CONFIG_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED indicates that the stage was\nskipped because the device is pre-provisioned.\nCONFIG_VALIDATION_SKIP_CAUSE_CONFIG_UNCHANGED 3 CONFIG_VALIDATION_SKIP_CAUSE_CONFIG_UNCHANGED indicates that the stage was\nskipped because the device has no configuration changes in the workspace.\nCONFIG_VALIDATION_SKIP_CAUSE_NO_CONFIG_SOURCES 4 CONFIG_VALIDATION_SKIP_CAUSE_NO_CONFIG_SOURCES indicates that the stage was\nskipped because the device has no config sources in the workspace.\nDeviceAuthzStatus DeviceAuthzStatus holds the result of the authorization check on device.\nName Number Description DEVICE_AUTHZ_STATUS_UNSPECIFIED 0 DEVICE_AUTHZ_STATUS_UNSPECIFIED indicates the authorization check is pending.\nDEVICE_AUTHZ_STATUS_AUTHORIZED 1 DEVICE_AUTHZ_STATUS_AUTHORIZED indicates the subject\nis authorized to provision this device.\nDEVICE_AUTHZ_STATUS_UNAUTHORIZED 2 DEVICE_AUTHZ_STATUS_UNAUTHORIZED indicates the subject\nis unauthorized to provision this device.\nImageValidationSkipCause ImageValidationSkipCause enumerates the set of reasons a device can skip the image validation stage.\nName Number Description IMAGE_VALIDATION_SKIP_CAUSE_UNSPECIFIED 0 IMAGE_VALIDATION_SKIP_CAUSE_UNSPECIFIED indicates image validation skip cause is\nunspecified.\nIMAGE_VALIDATION_SKIP_CAUSE_INACTIVE 1 IMAGE_VALIDATION_SKIP_CAUSE_INACTIVE indicates that the stage was skipped\nbecause the device is not streaming.\nIMAGE_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED 2 IMAGE_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED indicates that the stage was\nskipped because the device is pre-provisioned.\nIMAGE_VALIDATION_SKIP_CAUSE_IMAGE_UNCHANGED 3 IMAGE_VALIDATION_SKIP_CAUSE_IMAGE_UNCHANGED indicates that the stage was\nskipped because the device has no image changes in the workspace.\nIMAGE_VALIDATION_SKIP_CAUSE_NO_PROPOSED_SOFTWARE 4 IMAGE_VALIDATION_SKIP_CAUSE_NO_PROPOSED_SOFTWARE indicates that the stage was\nskipped because the device has no proposed software changes in the workspace.\nRequest Request enumerates the set of asynchronous operations that can be performed on a workspace.\nName Number Description REQUEST_UNSPECIFIED 0 REQUEST_UNSPECIFIED describes unspecified request.\nREQUEST_START_BUILD 1 REQUEST_START_BUILD describes a request to start building a workspace. This kicks\nof a multi-stage operation to compile and validate the changes in a workspace (see\nBuildStage for more details).\nREQUEST_CANCEL_BUILD 2 REQUEST_CANCEL_BUILD describes a request to stop building a workspace.\nREQUEST_SUBMIT 3 REQUEST_SUBMIT describes a request to submit a workspace to the mainline. Before\nsubmission, some checks are made that can cause the request to fail. E.g., if there\nis a modified configuration for a non-streaming device in the workspace, then the\nrequest will fail. Once submitted, changes are applied and change controls are\ncreated (if necessary).\nREQUEST_ABANDON 4 REQUEST_ABANDON describes a request to abandon a workspace. This operation does\nnot delete the workspace from the system, but closes it to any further updates.\nREQUEST_ROLLBACK 5 REQUEST_ROLLBACK describes a request to rollback a submitted workspace, undoing\ncorresponding changes in the mainline.\nREQUEST_SUBMIT_FORCE 6 REQUEST_SUBMIT_FORCE describes a request to submit a workspace without making any\nchecks that could normally cause the submission to fail. See REQUEST_SUBMIT for\nmore details.\nREQUEST_REBASE 7 REQUEST_REBASE describes a request to rebase a workspace. This operation updates\nworkspace state to reflect the latest mainline content, and re-applies workspace\nchanges on top of that.\nResponseCode ResponseCode is a code for a Response indicating a particular scenario.\nName Number Description RESPONSE_CODE_UNSPECIFIED 0 RESPONSE_CODE_UNSPECIFIED indicates unspecified response code.\nRESPONSE_CODE_INACTIVE_DEVICES_EXIST 1 RESPONSE_CODE_INACTIVE_DEVICES_EXIST indicates that there are devices that have inactive\nstreaming status.\nResponseStatus ResponseStatus enumerates the set of execution statuses of a Response.\nName Number Description RESPONSE_STATUS_UNSPECIFIED 0 RESPONSE_STATUS_UNSPECIFIED indicates unspecified response status.\nRESPONSE_STATUS_SUCCESS 1 RESPONSE_STATUS_SUCCESS indicates that the original Request was successful\nin its execution.\nRESPONSE_STATUS_FAIL 2 RESPONSE_STATUS_FAIL indicates that the original Request was unsuccessful\nin its execution.\nWorkspaceState WorkspaceState enumerates the general states of a workspace. Some of these states are derived as a result of executing a specific request on the workspace (see Request).\nName Number Description WORKSPACE_STATE_UNSPECIFIED 0 WORKSPACE_STATE_UNSPECIFIED indicates unspecified workspace state.\nWORKSPACE_STATE_PENDING 1 WORKSPACE_STATE_PENDING indicates that the changes in the workspace are open and\nhave not been submitted.\nWORKSPACE_STATE_SUBMITTED 2 WORKSPACE_STATE_SUBMITTED indicates that the changes in the workspace have been\nsubmitted to the mainline.\nWORKSPACE_STATE_ABANDONED 3 WORKSPACE_STATE_ABANDONED indicates that the workspace has been intentionally\nclosed, and may no longer be updated.\nWORKSPACE_STATE_CONFLICTS 4 WORKSPACE_STATE_CONFLICTS indicates that the changes in the workspace are in\nconflict with the current state of the system.\nWORKSPACE_STATE_ROLLED_BACK 5 WORKSPACE_STATE_ROLLED_BACK indicates that the workspace was submitted, but\nhas been rolled back (the changes have been undone).\nTop\narista/workspace.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nWorkspaceBatchedStreamRequest Field Name Type Description partial_eq_filter Workspace[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Workspace at end.\n* Each Workspace response is fully-specified (all fields set).\n* start: Returns the state of each Workspace at start, followed by updates until now.\n* Each Workspace response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Workspace at start, followed by updates\nuntil end.\n* Each Workspace response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceBatchedStreamResponse Field Name Type Description responses WorkspaceStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceBuildBatchedStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuild[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuild at end.\n* Each WorkspaceBuild response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuild at start, followed by updates until now.\n* Each WorkspaceBuild response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuild at start, followed by updates\nuntil end.\n* Each WorkspaceBuild response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceBuildBatchedStreamResponse Field Name Type Description responses WorkspaceBuildStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceBuildDetailsBatchedStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuildDetails[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuildDetails at end.\n* Each WorkspaceBuildDetails response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates\nuntil end.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceBuildDetailsBatchedStreamResponse Field Name Type Description responses WorkspaceBuildDetailsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceBuildDetailsRequest Field Name Type Description key WorkspaceBuildDetailsKey Key uniquely identifies a WorkspaceBuildDetails instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildDetailsResponse Field Name Type Description value WorkspaceBuildDetails Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspaceBuildDetails instance in this response.\nWorkspaceBuildDetailsSomeRequest Field Name Type Description keys WorkspaceBuildDetailsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildDetailsSomeResponse Field Name Type Description value WorkspaceBuildDetails Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceBuildDetailsStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuildDetails[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuildDetails at end.\n* Each WorkspaceBuildDetails response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates\nuntil end.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceBuildDetailsStreamResponse Field Name Type Description value WorkspaceBuildDetails Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this WorkspaceBuildDetails\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the WorkspaceBuildDetails value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceBuildRequest Field Name Type Description key WorkspaceBuildKey Key uniquely identifies a WorkspaceBuild instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildResponse Field Name Type Description value WorkspaceBuild Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspaceBuild instance in this response.\nWorkspaceBuildSomeRequest Field Name Type Description keys WorkspaceBuildKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildSomeResponse Field Name Type Description value WorkspaceBuild Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceBuildStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuild[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuild at end.\n* Each WorkspaceBuild response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuild at start, followed by updates until now.\n* Each WorkspaceBuild response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuild at start, followed by updates\nuntil end.\n* Each WorkspaceBuild response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceBuildStreamResponse Field Name Type Description value WorkspaceBuild Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this WorkspaceBuild\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the WorkspaceBuild value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceConfigBatchedStreamRequest Field Name Type Description partial_eq_filter WorkspaceConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceConfig at end.\n* Each WorkspaceConfig response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceConfig at start, followed by updates until now.\n* Each WorkspaceConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceConfig at start, followed by updates\nuntil end.\n* Each WorkspaceConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceConfigBatchedStreamResponse Field Name Type Description responses WorkspaceConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceConfigDeleteAllRequest Field Name Type Description partial_eq_filter WorkspaceConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nWorkspaceConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey WorkspaceKey This is the key of the WorkspaceConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nWorkspaceConfigDeleteRequest Field Name Type Description key WorkspaceKey Key indicates which WorkspaceConfig instance to remove.\nThis field must always be set.\nWorkspaceConfigDeleteResponse Field Name Type Description key WorkspaceKey Key echoes back the key of the deleted WorkspaceConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nWorkspaceConfigDeleteSomeRequest Field Name Type Description keys WorkspaceKey[\u0026hellip;] key contains a list of WorkspaceConfig keys to delete\nWorkspaceConfigDeleteSomeResponse WorkspaceConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key WorkspaceKey error string WorkspaceConfigRequest Field Name Type Description key WorkspaceKey Key uniquely identifies a WorkspaceConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceConfigResponse Field Name Type Description value WorkspaceConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspaceConfig instance in this response.\nWorkspaceConfigSetRequest Field Name Type Description value WorkspaceConfig WorkspaceConfig carries the value to set into the datastore.\nSee the documentation on the WorkspaceConfig struct for which fields are required.\nWorkspaceConfigSetResponse Field Name Type Description value WorkspaceConfig Value carries all the values given in the WorkspaceConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nWorkspaceConfigSetSomeRequest Field Name Type Description values WorkspaceConfig[\u0026hellip;] value contains a list of WorkspaceConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nWorkspaceConfigSetSomeResponse Field Name Type Description key WorkspaceKey error string WorkspaceConfigSomeRequest Field Name Type Description keys WorkspaceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceConfigSomeResponse Field Name Type Description value WorkspaceConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceConfigStreamRequest Field Name Type Description partial_eq_filter WorkspaceConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceConfig at end.\n* Each WorkspaceConfig response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceConfig at start, followed by updates until now.\n* Each WorkspaceConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceConfig at start, followed by updates\nuntil end.\n* Each WorkspaceConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceConfigStreamResponse Field Name Type Description value WorkspaceConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this WorkspaceConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the WorkspaceConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceRequest Field Name Type Description key WorkspaceKey Key uniquely identifies a Workspace instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceResponse Field Name Type Description value Workspace Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspace instance in this response.\nWorkspaceSomeRequest Field Name Type Description keys WorkspaceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceSomeResponse Field Name Type Description value Workspace Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceStreamRequest Field Name Type Description partial_eq_filter Workspace[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Workspace at end.\n* Each Workspace response is fully-specified (all fields set).\n* start: Returns the state of each Workspace at start, followed by updates until now.\n* Each Workspace response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Workspace at start, followed by updates\nuntil end.\n* Each Workspace response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceStreamResponse Field Name Type Description value Workspace Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Workspace\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Workspace value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceBuildDetailsService Method Name Request Type Response Type Description GetOne WorkspaceBuildDetailsRequest WorkspaceBuildDetailsResponse GetSome WorkspaceBuildDetailsSomeRequest WorkspaceBuildDetailsSomeResponse stream GetAll WorkspaceBuildDetailsStreamRequest WorkspaceBuildDetailsStreamResponse stream Subscribe WorkspaceBuildDetailsStreamRequest WorkspaceBuildDetailsStreamResponse stream GetMeta WorkspaceBuildDetailsStreamRequest MetaResponse SubscribeMeta WorkspaceBuildDetailsStreamRequest MetaResponse stream GetAllBatched WorkspaceBuildDetailsBatchedStreamRequest WorkspaceBuildDetailsBatchedStreamResponse stream SubscribeBatched WorkspaceBuildDetailsBatchedStreamRequest WorkspaceBuildDetailsBatchedStreamResponse stream WorkspaceBuildService Method Name Request Type Response Type Description GetOne WorkspaceBuildRequest WorkspaceBuildResponse GetSome WorkspaceBuildSomeRequest WorkspaceBuildSomeResponse stream GetAll WorkspaceBuildStreamRequest WorkspaceBuildStreamResponse stream Subscribe WorkspaceBuildStreamRequest WorkspaceBuildStreamResponse stream GetMeta WorkspaceBuildStreamRequest MetaResponse SubscribeMeta WorkspaceBuildStreamRequest MetaResponse stream GetAllBatched WorkspaceBuildBatchedStreamRequest WorkspaceBuildBatchedStreamResponse stream SubscribeBatched WorkspaceBuildBatchedStreamRequest WorkspaceBuildBatchedStreamResponse stream WorkspaceConfigService Method Name Request Type Response Type Description GetOne WorkspaceConfigRequest WorkspaceConfigResponse GetSome WorkspaceConfigSomeRequest WorkspaceConfigSomeResponse stream GetAll WorkspaceConfigStreamRequest WorkspaceConfigStreamResponse stream Subscribe WorkspaceConfigStreamRequest WorkspaceConfigStreamResponse stream GetMeta WorkspaceConfigStreamRequest MetaResponse SubscribeMeta WorkspaceConfigStreamRequest MetaResponse stream Set WorkspaceConfigSetRequest WorkspaceConfigSetResponse SetSome WorkspaceConfigSetSomeRequest WorkspaceConfigSetSomeResponse stream Delete WorkspaceConfigDeleteRequest WorkspaceConfigDeleteResponse DeleteSome WorkspaceConfigDeleteSomeRequest WorkspaceConfigDeleteSomeResponse stream DeleteAll WorkspaceConfigDeleteAllRequest WorkspaceConfigDeleteAllResponse stream GetAllBatched WorkspaceConfigBatchedStreamRequest WorkspaceConfigBatchedStreamResponse stream SubscribeBatched WorkspaceConfigBatchedStreamRequest WorkspaceConfigBatchedStreamResponse stream WorkspaceService Method Name Request Type Response Type Description GetOne WorkspaceRequest WorkspaceResponse GetSome WorkspaceSomeRequest WorkspaceSomeResponse stream GetAll WorkspaceStreamRequest WorkspaceStreamResponse stream Subscribe WorkspaceStreamRequest WorkspaceStreamResponse stream GetMeta WorkspaceStreamRequest MetaResponse SubscribeMeta WorkspaceStreamRequest MetaResponse stream GetAllBatched WorkspaceBatchedStreamRequest WorkspaceBatchedStreamResponse stream SubscribeBatched WorkspaceBatchedStreamRequest WorkspaceBatchedStreamResponse stream "}] \ No newline at end of file +[{"uri":"https://aristanetworks.github.io/cloudvision-apis/clients/existing/","title":"Existing Clients","tags":[],"description":"","content":"Arista provides and maintains the following clients:\nLanguage Repository Go https://github.com/aristanetworks/cloudvision-go Python https://github.com/aristanetworks/cloudvision-python "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/modeling/","title":"Modeling","tags":[],"description":"","content":"Resources are modeled in Protobuf and accessed over gRPC with a standardized set of RPCs (discussed in later sections). These models are divided into two types:\nconfig: models which allow user-modification, exposing modifiable/tunable options. state: models which expose read-only operational and/or derived state based on config data. Config Models Config models describe the user\u0026rsquo;s interaction with the system. Fields in these models are populated by the user (or by defaults).\nConfig models are read-writeable, meaning their APIs expose both read and write methods. The Protobuf message extension fmp.model = \u0026quot;rw\u0026quot; denotes that a given model is used as config and the generated RPCs will expose both read and write method sets.\nState Models State models describe the operational state of the system. Fields in these models are populated by the system and are not modifiable (except through the relevant config model).\nState models only have read methods defined and are denoted with the Protobuf message extension fmp.model = \u0026quot;ro\u0026quot;.\nWhile not required, state models are allowed to \u0026ldquo;echo\u0026rdquo; the associated config model for convenience of the user. You should check the relevant model(s) before expecting this behaviour, however.\nHigh Level Config-State Flow Below is a diagram explaining the data flow from writing a Config to the system creating/updating State. Typically, this process is asynchronous and the client will receive a response to the Set request before the state is readable. Verification and durably storing the config are the only gating requirements to responding to the Config write-request.\nWhile the config request is an input to deriving the state, there are other (possible) inputs into state:\nnon-configurable on-device settings or data (ex: device boot time) CloudVision configuration (ex: default user permissions) related config/state models (if noted in documentation) etc Subscribing to State (ideally, with a filter) allows the client to wait for any asynchronous processing.\nAll responses from RPCs include a timestamp. This timestamp should be viewed as the time at which the system durably stored an action (whether config or state). Thus, all state requests will return a timestamp \u0026gt;= than that of the config that initiated the action.\nNullable Types To make partial updates (both by users into the system as well as updates from the system) possible all primitive fields, maps, and repeated fields are wrapped in nullable messages. This nullability allows both the user and the system to differentiate between unset and zero-valued fields.\nFor example:\nmessage Nullability { // This value will contain \u0026#34;\u0026#34; when not set by the user/system. // It is not possible to know whether \u0026#34;\u0026#34; is the intended value, or simply omitted. string unwrapped_string = 1; // This value will contain null when not set by the user/system. // When the wrapper message is non-null, an empty string (\u0026#34;\u0026#34;) has // the context of being intentionally set. google.protobuf.StringValue wrapped_string = 2; } A list of the available wrapper types can be seen here, though models may define their own for maps or repeated (array) fields.\nKeys All models (whether config or state) contain a key message.\nThis key contains the minimal set of data needed to uniquely identify a given model entity. Model keys may be as simple as a single string (say, a name) or as complex as containing references to a datacenter, device, interface, or any combination of them. The complexity of the key depends entirely on the model at hand.\nMessages used for keys are denoted in protobuf with the extension: fmp.model_key = true.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/clients/creating/","title":"Creating a Client","tags":[],"description":"","content":"A major advantage to Protobuf (and gRPC) is the ability to generate language bindings reliably and dependably.\nThe main gRPC site has tutorials for generating clients in many languages:\nJava Node Ruby C#/.Net \u0026hellip; and more There is also an expansive ecosystem, so plenty of languages are supported.\nTooling In general, there are two main components to generating a language binding:\nprotoc: The protobuf compiler which call the language-specific generator typically installed via a package manager (apt, yum, brew, etc) protoc-gen-{language}: The language-specific generator typically installed with the language\u0026rsquo;s dependency manager, build tool, etc Generating Regardless of language, client generation generally follows a pattern of:\n$ protoc {includes} {lang-opts} {output-opts} {inputs} We are primarily concerned with the {includes} and {inputs} bits. The rest of the options are up to you.\nThe .proto files used as inputs can be found in: cloudvision-apis repo. You should first clone (or download) that repository. Once you have it, generating a client is as simple as:\n$ export CVAPIS=/some/path/to/cloudvision-apis $ git clone https://github.com/aristanetworks/cloudvision-apis $CVAPIS $ protoc -I $CVAPIS \\ {language-specific options go here} \\ $CVAPIS/arista/example.v1/example.proto $CVAPIS/arista/example.v1/services.gen.proto In the above examples we generate the protobuf bindings (example.proto) as well as the gRPC services (services.gen.go) in the same command. You are free to do them separately, however, different language generators handle this differently.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/errors/","title":"Error Handling","tags":[],"description":"","content":"Errors returned by the API follow the gRPC status code guidelines. This provides many niceties:\nLanguage-native idioms (exceptions, return codes, etc.) Easily mappable to HTTP error codes (used for HTTP access to RPCs) Uses metadata rather than a global schema for more detailed errors Example: Go Unary RPCs resp, err := example.GetOne(ExampleConfigRequest{Key: key}) if err != nil { log.Printf(\u0026#34;failed to get %+v: %s\\n\u0026#34;, key, err) return err } Streaming RPCs stream, err := example.GetAll(ExampleConfigStreamRequest{...}) if err != nil { log.Fatalf(\u0026#34;failed to initialize GetAll stream: %s\u0026#34;, err) } for { value, err := stream.Recv() if err == io.EOF { // all done break } else if err != nil { // stream was broken due to error log.Fatalf(\u0026#34;stream was interrupted: %s\u0026#34;, err) } log.Printf(\u0026#34;%+v\\n\u0026#34;, value) } Example: Python Unary RPCs try: response = example_stub.Set(ExampleConfigSetRequest(...)) except grpc.RpcError as e: print(\u0026#39;Set failed: {0}: {1}\u0026#39;.format(e.code(), e.details())) raise e Streaming RPCs try: for resource in example_stub.GetAll(ExampleConfigStreamRequest(...)): # process resource except grpc.RpcError as e: print(\u0026#39;GetAll failed: {0}: {1}\u0026#39;.format(e.code(), e.details())) raise e "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/","title":"Uniform RPCs","tags":[],"description":"","content":"As stated previously, APIs are accesible over gRPC with a standardized set of RPCs.\nThese methods will behave consistently across models.\nRead Methods All readable models have the following RPC signatures:\nservice ExampleConfigService { rpc GetOne (ExampleConfigRequest) returns (ExampleConfigResponse); rpc GetAll (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); rpc Subscribe (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); } The ExampleConfigRequest, ExampleConfigResponse, ExampleConfigStreamRequest, and ExampleConfigStreamResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.\nWrite Methods All wriable models have the following RPC signatures:\nservice ExampleConfigService { rpc Set (ExampleConfigSetRequest) returns (ExampleConfigSetResponse); rpc Delete (ExampleConfigDeleteRequest) returns (ExampleConfigDeleteResponse); } The ExampleConfigSetRequest, ExampleConfigSetResponse, ExampleConfigDeleteRequest, and ExampleConfigDeleteResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/connecting/","title":"Connecting","tags":[],"description":"","content":"The port used to connect to CVP is 443 for both on-prem and cloud deployments.\nAuthentication Our APIs currently support token based authentication.\nIn future releases we intend to support mutual TLS authentication which does not require tokens or login credentials to be stored along with the application.\nFor more details on gRPC authentication, see: authentication.\nToken Based Authentication Tokens can be either received from the HTTP login API (only last for 24 hours) or can be generated on for service accounts (recommended).\nService accounts have been introduced in 2020.3.0 and have been on CVaaS from the beginning.\nThe steps to create a service account token are (both CV on-prem and CVaaS):\nGo to Settings\nGo to Access Control - Service Accounts\nCreate a Service account if there isn\u0026rsquo;t one by clicking on the + New Service Account button\nFill out the form and click Add\nEdit the service account by clicking on it and generate a token\nThe service account token will not be retreivable after clicking Ok. It is recommended to store it somewhere safe.\nRead on if you are interested in generating a short lived token for CloudVision on-prem using the HTTP login API.\nThe following examples use python but Go, Java, or any other language capable of HTTP requests will work almost identically. To make the HTTP request, we will use the requests library which is available through pip:\npython -m pip install requests Example: token from login import requests import json import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; USERNAME = \u0026#34;your_cvp_username\u0026#34; PASSWORD = \u0026#34;your_cvp_password\u0026#34; r = requests.post(\u0026#39;https://\u0026#39; + CV_HOST + \u0026#39;/cvpservice/login/authenticate.do\u0026#39;, auth=(USERNAME, PASSWORD)) channel_credentials = grpc.ssl_channel_credentials() call_credentials = grpc.access_token_call_credentials(r.json()[\u0026#39;sessionId\u0026#39;]) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Example: token with loading custom SSL/TLS root certificates If CVP is using a certificate signed by a certificate authority that is not installed as a root certificate, specify it like so:\nimport requests import json import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; USERNAME = \u0026#34;your_cvp_username\u0026#34; PASSWORD = \u0026#34;your_cvp_password\u0026#34; # The certificate authority that signed the CVP certificate. # If the CVP certificate is self-signed, this is just the certificate itself. # The default location of CVP\u0026#39;s self-signed certificate on a node is /etc/nginx/cvp.crt CA_PUB_CERT_PATH = \u0026#34;/path/to/ca.pem\u0026#34; r = requests.post(\u0026#39;https://\u0026#39; + CV_HOST + \u0026#39;/cvpservice/login/authenticate.do\u0026#39;, auth=(USERNAME, PASSWORD), verify=CA_PUB_CERT_PATH) call_credentials = grpc.access_token_call_credentials(r.json()[\u0026#39;sessionId\u0026#39;]) with open(CA_PUB_CERT_PATH, \u0026#39;rb\u0026#39;) as cert_file: channel_credentials = grpc.ssl_channel_credentials(cert_file.read()) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Or download the certificate used by the server. Note that this is insecure.\nimport requests import json import ssl import tempfile import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; USERNAME = \u0026#34;your_cvp_username\u0026#34; PASSWORD = \u0026#34;your_cvp_password\u0026#34; cert = bytes(ssl.get_server_certificate((CV_HOST, int(CV_API_PORT)))) r = requests.post(\u0026#39;https://\u0026#39; + CV_HOST + \u0026#39;/cvpservice/login/authenticate.do\u0026#39;, auth=(USERNAME, PASSWORD), verify=False) call_credentials = grpc.access_token_call_credentials(r.json()[\u0026#39;sessionId\u0026#39;]) channel_credentials = grpc.ssl_channel_credentials(cert) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Example: token from file import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; # The certificate authority that signed the CVP certificate. # If the CVP certificate is self-signed, this is just the certificate itself. # The default location of CVP\u0026#39;s self-signed certificate on a node is /etc/nginx/cvp.crt CA_PUB_CERT_PATH = \u0026#34;/path/to/ca.pem\u0026#34; with open(\u0026#39;cloudvision_access_token.txt\u0026#39;, \u0026#39;r\u0026#39;) as f: call_credentials = grpc.access_token_call_credentials(f.read().strip()) with open(CA_PUB_CERT_PATH, \u0026#39;rb\u0026#39;) as cert_file: channel_credentials = grpc.ssl_channel_credentials(cert_file.read()) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentials) Example: token from environment variable import grpc CV_HOST = \u0026#34;your_cvp_hostname_or_ip\u0026#34; CV_API_PORT = \u0026#34;443\u0026#34; # The certificate authority that signed the CVP certificate. # If the CVP certificate is self-signed, this is just the certificate itself. # The default location of CVP\u0026#39;s self-signed certificate on a node is /etc/nginx/cvp.crt CA_PUB_CERT_PATH = \u0026#34;/path/to/ca.pem\u0026#34; call_credentials = grpc.access_token_call_credentials(os.environ[\u0026#39;CLOUDVISION_ACCESS_TOKEN\u0026#39;]) with open(CA_PUB_CERT_PATH, \u0026#39;rb\u0026#39;) as cert_file: channel_credentials = grpc.ssl_channel_credentials(cert_file.read()) combined_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) channel = grpc.secure_channel(CV_HOST + \u0026#39;:\u0026#39; + CV_API_PORT, combined_credentails) "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/filtering/","title":"Filtering","tags":[],"description":"","content":"Filtering is provided through a default and an (optional) additional model-specific mechanism. By default, all models support \u0026ldquo;partial equality filtering\u0026rdquo;. Models that provide a custom filtering method will document this filter-message in its model documentation.\nPartial-Equality Filters Unless intentionally disabled (and sufficiently documented), services provide a default filtering mechanism. The input type is the same as the model you are filtering, and if you wish to filter on a given field you set that field to non-nil.\nGiven:\nresponse: the model that may or may not be sent to the client filter: a single filter model (request allows giving multiple) For every response in the stream, we iterate the filter list. If the filter has a field set to non-null we compare it to the response\u0026rsquo;s field value. If the values are equal we continue to the next field in the filter. If the field values do not match we \u0026ldquo;fail\u0026rdquo; the filter and move on to the next filter in the list.\nIf a response fails all filters, it is not sent to the client.\nIf a response succeeds any filter, it is sent to the client.\nService-Specific Filtering Models are allowed to also contain an \u0026ldquo;implementation specific\u0026rdquo; filter which can be more targeted, featureful, or otherwise helpful.\nThis filter type will be defined in the protobuf definition. This type should be well documented in the protobuf as well as generated documentation.\nmessage CustomFilteredStreamRequest { ... // -- documentation from the filter message type -- CustomFilter filter = 2; ... "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/clients/","title":"Clients","tags":[],"description":"","content":"Clients are generated from the base .proto files shipped in this repository using the protobuf compiler.\nWhile Arista maintains clients for some languages, creating a client for your language of choice is also possible.\nExisting Clients Creating a Client "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/getone/","title":"GetOne","tags":[],"description":"","content":"GetOne returns a single instance of a resource.\nThe Key field is required to be fully-specified because GetOne needs to identify exactly-one resource to fetch.\nRPC Definition The protobuf definition of GetOne is defined as such (for ExampleConfig):\nrpc GetOne (ExampleConfigRequest) returns (ExampleConfigResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigRequest { // Key uniquely identifies a ExampleConfig instance to retrieve. // This value must be populated (non-null) and all fields set. ExampleKey key = 1; // Time indicates the time for which you are interested in the data. // If no time is given, the server will use the time at which it makes the request. // // This time is used as an upper-bound. The returned value may have been set at // an earlier time, however, it was the value as of the supplied time. google.protobuf.Timestamp time = 2; } Response Type The generated response for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigResponse { // Value is the value requested. // This structure will be fully-populated as it exists in the datastore. If // optional fields were not given at creation, these fields will be empty or // set to default values. ExampleConfig value = 1; // Time carries the (UTC) timestamp of the last-modification of the // ExampleConfig instance in this response. // // As stated in the request above, this time will likely not match the request // exactly. But it will be before-or-equal to the requested time. google.protobuf.Timestamp time = 2; }; "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/getall/","title":"GetAll","tags":[],"description":"","content":"GetAll fetches (and optionally filters) all resource instances.\nFor the filtering options available, see the Filtering section. These filtering options are the same for Subscribe.\nThis RPC is effectively a full-table-scan so the time to complete depends on the amount of data the resource reflects. However, being a streaming API, this RPC will return the first message as soon as it is available without any buffering.\nRPC Definition The protobuf definition of GetAll is defined as such (for ExampleConfig):\nrpc GetAll (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigStreamRequest { // PartialEqFilter provides a way to server-side filter a GetAll/Subscribe. // This requires all provided fields to be equal to the response. // // While transparent to users, this field also allows services to optimize internal // subscriptions if filter(s) are sufficiently specific. repeated ExampleConfig partial_eq_filter = 1; // // NOTE: Models are allowed to also contain a \u0026#34;implementation specific\u0026#34; filter // which is more targetted, simple, or otherwise helpful. // This filter type will be defined in the protobuf definition. // // TimeRange allows limiting response data to within a specified time window. // If this field is populated, at least one of the two time fields are required. // // This field is not allowed in the Subscribe RPC. arista.time.TimeBounds time = 3; }; Time bounds GetAll allows retrieving the history of one or many instances of a resource. These options are passed through the TimeBounds message:\nmessage TimeBounds { google.protobuf.Timestamp start = 1; google.protobuf.Timestamp end = 2; } The fields start and end can be used in the following combinations:\nend: returns the state of resources at end. responds with only fully-specified models start: returns the state of resources at start and updates until now. returns all fully-specified models as of the start time, and then all subsequent changes/partials/diffs start and end: returns the state of resources at start as well as any changes until end. same semantics as start alone, but only changes up to the end time "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/subscribe/","title":"Subscribe","tags":[],"description":"","content":"Subscribe first returns the initial state (fully-specified messages) and then any received updates.\nThe first messages received are effectively the result of a GetAll). Once existing state has been sent to the client, any changes to resource entities are streamed back to the client. The update messages will represent what was updated and can either be a diff/partial or a fully-specified model.\nAny filters apply both to the initial state and updates.\nClients can determine whether a given message is part of the initial GetAll or an update via the arista.subscriptions.Operation enum field on the StreamResponse type for the given resource. This enum can be found here.\nThe flow of messages follows these steps:\nN messages with arista.subscriptions.Operation::INITIAL One message with arista.subscriptions.Operation::INITIAL_SYNC_COMPLETE this signifies the transition from initial data to udpates prevents the client from needing to hold the last operation to find transition point N messages with either: arista.subscriptions.Operation::UPDATED arista.subscriptions.Operation::DELETED these can happen in any order or frequency until the subscription/connection is closed RPC Definition The protobuf definition of GetAll is defined as such (for ExampleConfig):\nrpc Subscribe (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse); "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/set/","title":"Set","tags":[],"description":"","content":"Set updates a resource. Updates can be whole or partial (see: nullable fields) using only fields populated in the request.\nThe Key field is required to be fully-specified because Set needs to identify exactly-one resource to delete.\nThe endpoint returns the time the Set becomes effective internally and the service\u0026rsquo;s known-state of the resource.\nA *SetResponse will contain an \u0026ldquo;echo\u0026rdquo; of the resource. This echo will be the original update-request at a minimum, and may include more data.This allows services to do fast, write-only, updates to internal storage. If the service needs to query existing state first then more data can be provided to the client. If you need a full model after a Set operation, you can issue a GetOne with the returned time.\nrpc Set (ExampleConfigSetRequest) returns (ExampleSetResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigSetRequest { // ExampleConfig carries the value to set into the datastore. ExampleConfig value = 1; }; Response Type The generated response for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigSetResponse { ExampleConfig value = 1; // Time indicates the (UTC) timestamp at which the system recognizes the // creation. The only guarantees made about this timestamp are: // // - it is after the time the request was received // - a time-ranged query with StartTime==CreatedAt will include this instance. // google.protobuf.Timestamp time = 2; }; Updating maps Set maps are merged with the existing map.\nTo delete all of the values in a map, set the wrapper message of the map but leave the map itself empty.\nUpdating repeated fields Set repeated fields replace the existing array. For example:\nt0: existing state: [\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;c\u0026#39;] t1: existing state: [\u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;c\u0026#39;] set request: [\u0026#39;a\u0026#39;, \u0026#39;q\u0026#39;, \u0026#39;z\u0026#39;] t2: existing state: [\u0026#39;a\u0026#39;, \u0026#39;q\u0026#39;, \u0026#39;z\u0026#39;] To delete all of the values in a repeated field, set the wrapper message of the repeated and leave the repeated empty.\nUpdating subresources Subresources are resources that are a child of another resource. A collection of subresources with compound keys is represented by a repeated field, though this collection should be treated as unordered and uses the same update semantics as maps (tuple keys are not allowed in protobuf maps). If multiple subresources with the same key are specified, the last one in the repeated ordering is assumed to be value.\nExample: Update Given an example proto:\nsyntax = \u0026#34;proto3\u0026#34;; import \u0026#34;google/protobuf/wrappers.proto\u0026#34;; message MapValue { google.protobuf.StringValue string_val = 1; google.protobuf.Int64Value int_val = 2; } message MapWrapper { map\u0026lt;string, MapValue\u0026gt; map = 1; } message RepeatedWrapper { repeated string repeated = 1; } message ExampleModel { google.protobuf.StringValue string_val = 1; google.protobuf.Int64Value int_val = 2; RepeatedWrapper repeated = 3; MapWrapper map = 4; } And a model:\nstring_val { value: \u0026#34;one\u0026#34; } int_val { value: 2 } repeated { repeated: \u0026#34;five\u0026#34; repeated: \u0026#34;six\u0026#34; } map { map { key: \u0026#34;four\u0026#34; value { string_val { value: \u0026#34;red\u0026#34; } int_val { value: 45 } } } map { key: \u0026#34;three\u0026#34; value { string_val { value: \u0026#34;blue\u0026#34; } int_val { value: 42 } } } map { key: \u0026#34;two\u0026#34; value { string_val { value: \u0026#34;purple\u0026#34; } int_val { value: 32 } } } } Applying the following update:\nstring_val { value: \u0026#34;two\u0026#34; } repeated { repeated: \u0026#34;eight\u0026#34; repeated: \u0026#34;nine\u0026#34; } map { map { key: \u0026#34;five\u0026#34; value { string_val { value: \u0026#34;orange\u0026#34; } int_val { value: 100 } } } map { key: \u0026#34;four\u0026#34; value { string_val { value: \u0026#34;green\u0026#34; } } } map { key: \u0026#34;three\u0026#34; value { string_val { value: \u0026#34;yellow\u0026#34; } int_val { value: 12 } } } } results in the updated model:\nstring_val { value: \u0026#34;two\u0026#34; } int_val { value: 2 } repeated { repeated: \u0026#34;eight\u0026#34; repeated: \u0026#34;nine\u0026#34; } map { map { key: \u0026#34;five\u0026#34; value { string_val { value: \u0026#34;orange\u0026#34; } int_val { value: 100 } } } map { key: \u0026#34;four\u0026#34; value { string_val { value: \u0026#34;green\u0026#34; } int_val { value: 45 } } } map { key: \u0026#34;three\u0026#34; value { string_val { value: \u0026#34;yellow\u0026#34; } int_val { value: 12 } } } map { key: \u0026#34;two\u0026#34; value { string_val { value: \u0026#34;purple\u0026#34; } int_val { value: 32 } } } } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/rpcs/delete/","title":"Delete","tags":[],"description":"","content":"Delete deletes a resource and returns the time the delete became effective.\nThe Key field is required to be fully-specified because Delete needs to identify exactly-one resource to delete.\nRPC Definition The protobuf definition of GetOne is defined as such (for ExampleConfig):\nrpc Delete (ExampleConfigDeleteRequest) returns (ExampleConfigDeleteResponse); Request Type The generated request for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigDeleteRequest { // Key indicates which ExampleConfig instance to remove. // This field must always be set. ExampleKey key = 1; }; Response Type The generated response for a model (ExampleConfig, here) looks like so:\nmessage ExampleConfigDeleteResponse { // Key echoes back the key of the deleted ExampleConfig instance. ExampleKey key = 1; // Time indicates the (UTC) timestamp at which the system recognizes the // deletion. The only guarantees made about this timestamp are: // // - it is after the time the request was received // - a time-ranged query with StartTime==DeletedAt will not include this instance. // google.protobuf.Timestamp time = 2; }; "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/bugexposure/","title":"Bugexposure","tags":[],"description":"","content":" Bugexposure.v1 Get device bug exposure for one device curl Get device bug exposure for all devices curl Get the acknowledged bugs for a device curl To generate a service account token please refer to the authentication chapter.\nBugExposure Resource APIs are supported from CVP 2022.1.0 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nBugexposure.v1 Get device bug exposure for one device curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/bugexposure/v1/BugExposure?key.deviceId=0123F2E4462997EB155B7C50EC148767\u0026#39; | jq Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084, 638303, 647110, 653156, 662431, 664223, 672067, 686581 ] }, \u0026#34;cveIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 674519 ] }, \u0026#34;bugCount\u0026#34;: 8, \u0026#34;cveCount\u0026#34;: 1, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:56:09.228269719Z\u0026#34; } Get device bug exposure for all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/bugexposure/v1/BugExposure/all\u0026#39; | jq { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;HSH15201149\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084, 653156, 662431, 671983, 686096 ] }, \u0026#34;cveIds\u0026#34;: {}, \u0026#34;bugCount\u0026#34;: 5, \u0026#34;cveCount\u0026#34;: 0, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_NONE\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-07-26T06:56:05.385727340Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE20270454\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084 ] }, \u0026#34;cveIds\u0026#34;: {}, \u0026#34;bugCount\u0026#34;: 1, \u0026#34;cveCount\u0026#34;: 0, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_LOW\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_NONE\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:56:09.228269719Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34; }, \u0026#34;bugIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 578084, 647110, 653156, 662431, 664223, 672067, 686581 ] }, \u0026#34;cveIds\u0026#34;: { \u0026#34;values\u0026#34;: [ 674519 ] }, \u0026#34;bugCount\u0026#34;: 7, \u0026#34;cveCount\u0026#34;: 1, \u0026#34;highestBugExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highestCveExposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:56:09.228269719Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } Get the acknowledged bugs for a device curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/v3/services/arista.bugexposure.v1.BugExposureService/GetOne\u0026#39; \\ -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;, \u0026#34;acknowledgement\u0026#34;: \u0026#34;ACKNOWLEDGEMENT_ACKNOWLEDGED\u0026#34;}}\u0026#39; Output:\n[ { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;device_id\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;, \u0026#34;acknowledgement\u0026#34;: \u0026#34;ACKNOWLEDGEMENT_ACKNOWLEDGED\u0026#34; }, \u0026#34;bug_ids\u0026#34;: { \u0026#34;values\u0026#34;: [ 672067, 686581 ] }, \u0026#34;cve_ids\u0026#34;: { \u0026#34;values\u0026#34;: [] }, \u0026#34;bug_count\u0026#34;: 2, \u0026#34;cve_count\u0026#34;: 0, \u0026#34;highest_bug_exposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_HIGH\u0026#34;, \u0026#34;highest_cve_exposure\u0026#34;: \u0026#34;HIGHEST_EXPOSURE_NONE\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T17:08:31.477858091Z\u0026#34; } ] "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/changecontrol/","title":"Change Control","tags":[],"description":"","content":" changeControl.v1 Get the approval state for a specific change control curl Get the approval state for all approved/unapproved changes curl Approve a change curl Get the state of all Change Controls Create a change control curl Delete a change control curl Start a change control curl Stop a change control curl Schedule a change control curl Change the name of a Change Control curl To generate a service account token please refer to the authentication chapter.\nChange Control Resource APIs are supported from CVP 2021.2.0 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nchangeControl.v1 A change can be only be in unapproved state if it was approved initially. Change Controls which have never been approved will have the status of Pending Approval\nGet the approval state for a specific change control curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ApproveConfig?key.id=-WIh3Xnwu\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-WIh3Xnwu\u0026#34;}, \u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true}, \u0026#34;version\u0026#34;:\u0026#34;2021-12-03T10:41:40.810064204Z\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-03T10:41:44.109088624Z\u0026#34;} Changes that were never approved will have a nil state and the following result will be returned:\n{\u0026#34;code\u0026#34;:5, \u0026#34;message\u0026#34;:\u0026#34;resource not found\u0026#34;} The state of a change that was unapproved will result in the following:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;gKCZL1eNG\u0026#34;}, \u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:false, \u0026#34;notes\u0026#34;:\u0026#34;Unapproved explicitly by user\u0026#34;}, \u0026#34;version\u0026#34;:\u0026#34;2021-12-08T13:18:16.436235494Z\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T18:05:08.243031760Z\u0026#34;} Get the approval state for all approved/unapproved changes curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ApproveConfig/all\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-WIh3Xnwu\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-12-03T10:41:40.810064204Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-12-03T10:41:44.109088624Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-5UxLHCBk\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-12-03T10:53:58.819000425Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-12-03T10:54:05.099957401Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;-gKtnAX0s\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-08-19T18:27:25.312165529Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-19T18:27:28.961559476Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;Dpum-Owhq\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-08-02T09:47:47.324298592Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-02T09:47:49.603355580Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;1ZgkJ.Wed\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true},\u0026#34;version\u0026#34;:\u0026#34;2021-11-29T20:42:25.298103662Z\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-11-29T20:42:41.187649168Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Approve a change First we need to get the change control state for the specified key and extract the value of time from the change dictionary:\ncurl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControl?key.id=rxwA-N65u\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;rxwA-N65u\u0026#34;}, \u0026#34;change\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change 20211213_183228\u0026#34;, \u0026#34;rootStageId\u0026#34;:\u0026#34;c2uIKIkq0c\u0026#34;, \u0026#34;stages\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;c2uIKIkq0c\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change 20211213_183228 Root\u0026#34;, \u0026#34;rows\u0026#34;:{\u0026#34;values\u0026#34;:[{\u0026#34;values\u0026#34;:[\u0026#34;gaKs4SdpMj\u0026#34;]}]}}, \u0026#34;gaKs4SdpMj\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Update Config\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;542\u0026#34;}}}}}}, \u0026#34;notes\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;, \u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;} Then use the time value in the version value in the ApproveConfig POST message as below:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ApproveConfig\u0026#39; -H \u0026#39;Content-Type: application/json\u0026#39; \\ -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;rxwA-N65u\u0026#34;}, \u0026#34;approve\u0026#34;: {\u0026#34;value\u0026#34;: true, \u0026#34;notes\u0026#34;: \u0026#34;REST API test\u0026#34;}, \u0026#34;version\u0026#34;: \u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;rxwA-N65u\u0026#34;}, \u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true, \u0026#34;notes\u0026#34;:\u0026#34;REST API test\u0026#34;}, \u0026#34;version\u0026#34;:\u0026#34;2021-12-13T18:32:31.830585136Z\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-13T19:00:11.500491001Z\u0026#34;} Get the state of all Change Controls curl -L -X GET \u0026#34;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControl/all\u0026#34; \\ -H \u0026#34;Accept: application/json\u0026#34; \\ -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;CC_Task_f7d44737-485e-4002-bfe7-8c577ac51023\u0026#34;},\u0026#34;change\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change Control CC_Task_f7d44737-485e-4002-bfe7-8c577ac51023\u0026#34;,\u0026#34;rootStageId\u0026#34;:\u0026#34;root\u0026#34;,\u0026#34;stages\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;Task_2827\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Task stage 2827\u0026#34;,\u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;,\u0026#34;timeout\u0026#34;:7200,\u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;2827\u0026#34;}}},\u0026#34;rows\u0026#34;:{},\u0026#34;status\u0026#34;:\u0026#34;STAGE_STATUS_COMPLETED\u0026#34;},\u0026#34;root\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;root\u0026#34;,\u0026#34;rows\u0026#34;:{\u0026#34;values\u0026#34;:[{\u0026#34;values\u0026#34;:[\u0026#34;Task_2827\u0026#34;]}]},\u0026#34;status\u0026#34;:\u0026#34;STAGE_STATUS_COMPLETED\u0026#34;}}},\u0026#34;notes\u0026#34;:\u0026#34;Auto Generated Request\u0026#34;,\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.292234597Z\u0026#34;,\u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;},\u0026#34;approve\u0026#34;:{\u0026#34;value\u0026#34;:true,\u0026#34;notes\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.315590969Z\u0026#34;,\u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;},\u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:true,\u0026#34;notes\u0026#34;:\u0026#34;Auto Start\u0026#34;,\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.327707307Z\u0026#34;,\u0026#34;user\u0026#34;:\u0026#34;cvpadmin\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;CHANGE_CONTROL_STATUS_COMPLETED\u0026#34;,\u0026#34;deviceIds\u0026#34;:{\u0026#34;values\u0026#34;:[\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;]}},\u0026#34;time\u0026#34;:\u0026#34;2023-08-25T02:13:17.991529440Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} ... Create a change control curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#34;`cat task_data.json`\u0026#34; where task_data.json looks like below:\ncat task_data.json | jq\nOutput:\n{ \u0026#34;key\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;5821c7c1-e276-4387-b60a\u0026#34; }, \u0026#34;change\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;Change_20211222_191032\u0026#34;, \u0026#34;rootStageId\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;stages\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;root\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;rows\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;values\u0026#34;: [ \u0026#34;stage0\u0026#34;, \u0026#34;stage1\u0026#34;, \u0026#34;stage2\u0026#34;, \u0026#34;stage3\u0026#34; ] } ] } }, \u0026#34;stage0\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage0\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1245\u0026#34; } } } }, \u0026#34;stage1\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage1\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1246\u0026#34; } } } }, \u0026#34;stage2\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage2\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1247\u0026#34; } } } }, \u0026#34;stage3\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;stage3\u0026#34;, \u0026#34;action\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;TaskID\u0026#34;: \u0026#34;1248\u0026#34; } } } } } }, \u0026#34;notes\u0026#34;: \u0026#34;curl_cc_test\u0026#34; } } or without jq formatting:\n{\u0026#34;key\u0026#34;: {\u0026#34;id\u0026#34;: \u0026#34;5821c7c1-e276-4387-b60a\u0026#34;}, \u0026#34;change\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;Change_20211222_191032\u0026#34;, \u0026#34;rootStageId\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;stages\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;root\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;rows\u0026#34;: {\u0026#34;values\u0026#34;: [{\u0026#34;values\u0026#34;: [\u0026#34;stage0\u0026#34;, \u0026#34;stage1\u0026#34;, \u0026#34;stage2\u0026#34;, \u0026#34;stage3\u0026#34;]}]}}, \u0026#34;stage0\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage0\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1245\u0026#34;}}}}, \u0026#34;stage1\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage1\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1246\u0026#34;}}}}, \u0026#34;stage2\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage2\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1247\u0026#34;}}}}, \u0026#34;stage3\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;stage3\u0026#34;, \u0026#34;action\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;: 3000, \u0026#34;args\u0026#34;: {\u0026#34;values\u0026#34;: {\u0026#34;TaskID\u0026#34;: \u0026#34;1248\u0026#34;}}}}}}, \u0026#34;notes\u0026#34;: \u0026#34;curl_cc_test\u0026#34;}} Delete a change control curl Pending Change controls can be deleted as below:\ncurl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig?key.id=wvisXUy5N\u0026#39; Output:\n{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;wvisXUy5N\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-14T20:01:42.058348061Z\u0026#34;} Start a change control curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;},\u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:true,\u0026#34;notes\u0026#34;:\u0026#34;Starting change via REST call\u0026#34;}}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;}, \u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:true, \u0026#34;notes\u0026#34;:\u0026#34;starting change via curl\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-14T21:02:18.940285772Z\u0026#34;} Stop a change control curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;},\u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:false,\u0026#34;notes\u0026#34;:\u0026#34;Stopping change via REST call\u0026#34;}}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;VhkkzxK4U\u0026#34;}, \u0026#34;start\u0026#34;:{\u0026#34;value\u0026#34;:false, \u0026#34;notes\u0026#34;:\u0026#34;stopping change via curl\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-14T21:02:21.830306071Z\u0026#34;} Schedule a change control curl Change control scheduling using Resource APIs is only supported in 2022.1.0 or newer.\nThe below example shows how to schedule a Change Control at 2:07 AM on 2021-12-23:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;5821c7c1-e276-4387-b60a\u0026#34;},\u0026#34;schedule\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;2021-12-23T02:07:00.0Z\u0026#34;,\u0026#34;notes\u0026#34;:\u0026#34;CC schedule via curl\u0026#34;}}\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;5821c7c1-e276-4387-b60a\u0026#34;}, \u0026#34;schedule\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;2021-12-23T01:49:00Z\u0026#34;, \u0026#34;notes\u0026#34;:\u0026#34;CC schedule via curl\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-23T01:47:32.521200888Z\u0026#34;} A scheduled change will be only successfully executed if the change was approved.\nFetching the state of a scheduled change which wasn\u0026rsquo;t approved before execution time will result in the following error:\n\u0026quot;error\u0026quot;:\u0026quot;Reschedule required: not approved at schedule time\u0026quot;\ne.g.:\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControl?key.id=5821c7c1-e276-4387-b60a\u0026#39; {\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;id\u0026#34;:\u0026#34;5821c7c1-e276-4387-b60a\u0026#34;}, \u0026#34;change\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;Change_20211222_191032\u0026#34;, \u0026#34;rootStageId\u0026#34;:\u0026#34;root\u0026#34;, \u0026#34;stages\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;root\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;root\u0026#34;, \u0026#34;rows\u0026#34;:{\u0026#34;values\u0026#34;:[{\u0026#34;values\u0026#34;:[\u0026#34;stage0\u0026#34;, \u0026#34;stage1\u0026#34;, \u0026#34;stage2\u0026#34;, \u0026#34;stage3\u0026#34;]}]}}, \u0026#34;stage0\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage0\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1245\u0026#34;}}}}, \u0026#34;stage1\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage1\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1246\u0026#34;}}}}, \u0026#34;stage2\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage2\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1247\u0026#34;}}}}, \u0026#34;stage3\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;stage3\u0026#34;, \u0026#34;action\u0026#34;:{\u0026#34;name\u0026#34;:\u0026#34;task\u0026#34;, \u0026#34;timeout\u0026#34;:3000, \u0026#34;args\u0026#34;:{\u0026#34;values\u0026#34;:{\u0026#34;TaskID\u0026#34;:\u0026#34;1248\u0026#34;}}}}}}, \u0026#34;notes\u0026#34;:\u0026#34;curl_cc_test\u0026#34;, \u0026#34;time\u0026#34;:\u0026#34;2021-12-22T19:10:35.472979755Z\u0026#34;, \u0026#34;user\u0026#34;:\u0026#34;resourceapis\u0026#34;}, \u0026#34;error\u0026#34;:\u0026#34;Reschedule required: not approved at schedule time\u0026#34;, \u0026#34;schedule\u0026#34;:{\u0026#34;notes\u0026#34;:\u0026#34;Reschedule required: not approved at schedule time\u0026#34;, \u0026#34;time\u0026#34;:\u0026#34;2021-12-23T01:49:00.004927172Z\u0026#34;}}, \u0026#34;time\u0026#34;:\u0026#34;2021-12-23T01:49:00.004927172Z\u0026#34;} Change the name of a Change Control curl curl -L -X POST \u0026#34;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#34; \\ -H \u0026#34;Content-Type: application/json\u0026#34; \\ -H \u0026#34;Accept: application/json\u0026#34; \\ -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; \\ -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;id\u0026#34;: \u0026#34;FvDMjNx7aRbUPnCUVqLQ4\u0026#34;},\u0026#34;change\u0026#34;: {\u0026#34;name\u0026#34;: \u0026#34;MLAG ISSU in DC1\u0026#34; }}\u0026#39; or\ncurl -L -X POST \u0026#34;https://192.0.2.100/api/resources/changecontrol/v1/ChangeControlConfig\u0026#34; \\ -H \u0026#34;Content-Type: application/json\u0026#34; \\ -H \u0026#34;Accept: application/json\u0026#34; \\ -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; \\ -d @cc_payload.json where cc_payload.json has the following content:\n{ \u0026#34;key\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;FvDMjNx7aRbUPnCUVqLQ4\u0026#34; }, \u0026#34;change\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;MLAG ISSU in DC1\u0026#34; } } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/dashboard/","title":"Dashboard","tags":[],"description":"","content":" dashboard.v1 Get the status of a specific dashboard curl Get the configuration of a specific dashboard curl Get all dashboard configurations curl Create a dashboard curl Quick Import/Export example with cURL Quick Import/Export example with python Delete a dashboard curl Delete all dashboards (except the built-ins) curl To generate a service account token please refer to the authentication chapter.\nDashboard Resource APIs are supported from CVP 2021.3.0 (gRPC only) or newer and in CloudVision-as-a-Service. The REST endpoint for on-prem is available from 2022.3.0.\njq can be used to easily format and parse the outputs.\ndashboard.v1 Get the status of a specific dashboard curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/dashboard/v1/Dashboard?key.dashboardId=125125\u0026#39; You cannot use the result of this output to create a dashboard without removing the status-only related fields.\nGet the configuration of a specific dashboard curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/dashboard/v1/DashboardConfig?key.dashboardId=125125\u0026#39; Result:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;dashboardId\u0026#34;: \u0026#34;a6ad9e70-66aa-4faa-a0ca-9e7deee29ac4\u0026#34; }, \u0026#34;name\u0026#34;: \u0026#34;RAM\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;widgets\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;8327188b-a8c5-420e-a6ff-9209e700ab58\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;position\u0026#34;: { \u0026#34;x\u0026#34;: 0, \u0026#34;y\u0026#34;: 0 }, \u0026#34;dimensions\u0026#34;: { \u0026#34;width\u0026#34;: 8, \u0026#34;height\u0026#34;: 10 }, \u0026#34;type\u0026#34;: \u0026#34;aql-query-widget\u0026#34;, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;expression\\\u0026#34;:\\\u0026#34;let info = `*:Kernel/proc/meminfo` | map(merge(_value))\\\\n\\\\nmerge(`analytics:DatasetInfo/Devices`) | \\\\\\\\\\\\nwhere(dictHasKey(info, _key)) | \\\\\\\\\\\\nmap(info[_key]) | \\\\\\\\\\\\nmap(dictHasKey(_value, \\\\\\\u0026#34;memTotal\\\\\\\u0026#34;) ? (_value[\\\\\\\u0026#34;memTotal\\\\\\\u0026#34;] - _value[\\\\\\\u0026#34;memAvailable\\\\\\\u0026#34;]) / _value[\\\\\\\u0026#34;memTotal\\\\\\\u0026#34;] * 100 : 0)\\\u0026#34;,\\\u0026#34;graphConfig\\\u0026#34;:{\\\u0026#34;mapToHostname\\\u0026#34;:true},\\\u0026#34;visualization\\\u0026#34;:\\\u0026#34;barGraph\\\u0026#34;}\u0026#34;, \u0026#34;location\u0026#34;: \u0026#34;main\u0026#34;, \u0026#34;parent\u0026#34;: \u0026#34;\u0026#34; } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2022-11-08T02:07:05.218Z\u0026#34; } The value key of the result of the DashboardConfig call can then be used to create a dashboard on another CloudVision instance.\nGet all dashboard configurations curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/Dashboard/all\u0026#39; Create a dashboard curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig\u0026#39; -d @bgp-peering.json Input file:\n{ \u0026#34;key\u0026#34;: { \u0026#34;dashboard_id\u0026#34;: \u0026#34;dd328b0c-279f-4d75-841c-c7489cd6f7fe\u0026#34; }, \u0026#34;name\u0026#34;: \u0026#34;bgp peering info\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;widgets\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;c2e45460-b76c-4007-8963-1ca87f6f3322\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;position\u0026#34;: { \u0026#34;x\u0026#34;: 0, \u0026#34;y\u0026#34;: 0 }, \u0026#34;dimensions\u0026#34;: { \u0026#34;width\u0026#34;: 19, \u0026#34;height\u0026#34;: 17 }, \u0026#34;type\u0026#34;: \u0026#34;aql-query-widget\u0026#34;, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;expression\\\u0026#34;:\\\u0026#34;let data = merge(`\u0026lt;device\u0026gt;:/Smash/routing/bgp/bgpPeerInfoStatus/default/bgpPeerStatusEntry`)\\\\nlet data3 = merge(`\u0026lt;device\u0026gt;:/Smash/routing/bgp/bgpPeerInfoStatus/default/bgpPeerStatisticsEntry`)\\\\nlet data2 = `analytics:/Devices/\u0026lt;device\u0026gt;/versioned-data/routing/bgp/status/vrf/default/bgpPeerInfoStatusEntry/*` | map(merge(_value))\\\\nlet y_data = newDict()\\\\n\\\\n\\\\n\\\\nfor key, val in data { \\\\n if val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][3][\\\\\\\u0026#34;Name\\\\\\\u0026#34;] != \\\\\\\u0026#34;Unknown\\\\\\\u0026#34; {\\\\n y_data[key] = val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][3]\\\\n y_data[key][\\\\\\\u0026#34;AFI/SAFI State\\\\\\\u0026#34;] = \\\\\\\u0026#34;L2VPN EVPN\\\\\\\u0026#34;\\\\n }\\\\n if val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][1][\\\\\\\u0026#34;Name\\\\\\\u0026#34;] != \\\\\\\u0026#34;Unknown\\\\\\\u0026#34; {\\\\n y_data[key] = val[\\\\\\\u0026#34;bgpAfiSafiState\\\\\\\u0026#34;][1]\\\\n y_data[key][\\\\\\\u0026#34;AFI/SAFI State\\\\\\\u0026#34;] = \\\\\\\u0026#34;IPv4 Unicast\\\\\\\u0026#34;\\\\n }\\\\n y_data[key][\\\\\\\u0026#34;AS\\\\\\\u0026#34;] = data2[key][\\\\\\\u0026#34;bgpPeerAs\\\\\\\u0026#34;][\\\\\\\u0026#34;value\\\\\\\u0026#34;]\\\\n \\\\n \\\\n}\\\\n\\\\n\\\\nfor key, val in data3 {\\\\n y_data[key][\\\\\\\u0026#34;MsgRcvd\\\\\\\u0026#34;] = val[\\\\\\\u0026#34;bgpPeerInTotalMessages\\\\\\\u0026#34;]\\\\n y_data[key][\\\\\\\u0026#34;MsgSent\\\\\\\u0026#34;] = val[\\\\\\\u0026#34;bgpPeerOutTotalMessages\\\\\\\u0026#34;]\\\\n}\\\\ny_data\\\u0026#34;,\\\u0026#34;visualization\\\u0026#34;:\\\u0026#34;table\\\u0026#34;}\u0026#34;, \u0026#34;location\u0026#34;: \u0026#34;main\u0026#34; }, { \u0026#34;id\u0026#34;: \u0026#34;5d707fe5-6995-4485-809b-b2a50840b655\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;position\u0026#34;: { \u0026#34;x\u0026#34;: 0, \u0026#34;y\u0026#34;: 0 }, \u0026#34;dimensions\u0026#34;: { \u0026#34;width\u0026#34;: 4, \u0026#34;height\u0026#34;: 2 }, \u0026#34;type\u0026#34;: \u0026#34;input-widget\u0026#34;, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;defaultValue\\\u0026#34;:\\\u0026#34;0123F2E4462997EB155B7C50EC148767\\\u0026#34;,\\\u0026#34;inputName\\\u0026#34;:\\\u0026#34;device\\\u0026#34;,\\\u0026#34;inputSource\\\u0026#34;:\\\u0026#34;devices\\\u0026#34;,\\\u0026#34;inputWidgetId\\\u0026#34;:\\\u0026#34;5d707fe5-6995-4485-809b-b2a50840b655\\\u0026#34;,\\\u0026#34;tagLabel\\\u0026#34;:\\\u0026#34;device\\\u0026#34;}\u0026#34;, \u0026#34;location\u0026#34;: \u0026#34;inputs\u0026#34; } ] } } Quick Import/Export example with cURL Export from instance 1:\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/dashboard/v1/DashboardConfig?key.dashboardId=125125\u0026#39; | jq .value \u0026gt; networkmonitoring.json Import to instance 2:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig\u0026#39; -d @networkmonitoring.json Quick Import/Export example with python The following example will download a dashboard from an on-prem instance and upload it to a CVaaS tenant:\nimport requests # Read bearer token for 192.0.2.79 with open(\u0026#39;token1.tok\u0026#39;, \u0026#39;r\u0026#39;) as file: bearer_token1 = file.read().strip() # Connect to the first API and retrieve the dashboard dashboard_id = \u0026#34;CHANGEME\u0026#34; api_url = f\u0026#34;http://192.0.2.79/api/resources/dashboard/v1/DashboardConfig?key.dashboardId={dashboard_id}\u0026#34; headers1 = { \u0026#39;Authorization\u0026#39;: f\u0026#39;Bearer {bearer_token1}\u0026#39; } response1 = requests.get(api_url, headers=headers1, verify=False) dashboard_data = response1.json() # Read bearer token for www.arista.io with open(\u0026#39;token2.tok\u0026#39;, \u0026#39;r\u0026#39;) as file: bearer_token2 = file.read().strip() # Connect to www.arista.io and upload the dashboard # Note that the correct regional CVaaS URL should be used if your tenant is not on us-central1-a upload_url = \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig\u0026#39; headers2 = { \u0026#39;Authorization\u0026#39;: f\u0026#39;Bearer {bearer_token2}\u0026#39; } response2 = requests.post(upload_url, headers=headers2, json=dashboard_data[\u0026#34;value\u0026#34;]) if response2.status_code == 200: print(\u0026#39;Dashboard uploaded successfully!\u0026#39;) else: print(\u0026#39;Failed to upload the dashboard.\u0026#39;) Delete a dashboard curl curl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig?key.dashboardId=dd328b0c-279f-4d75-841c-c7489cd6f7fe\u0026#39; Output:\n{\u0026#34;key\u0026#34;:{\u0026#34;dashboardId\u0026#34;:\u0026#34;dd328b0c-279f-4d75-841c-c7489cd6f7fe\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-08-12T19:12:15.855946857Z\u0026#34;} Delete all dashboards (except the built-ins) curl curl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/dashboard/v1/DashboardConfig/all\u0026#39; "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/endpointlocation/","title":"Endpointlocation","tags":[],"description":"","content":" endpointlocation.v1 Get the location of an endpoint based on its MAC Address curl Get the location of an endpoint based on its IP Address curl Get the location of all connected endpoints python To generate a service account token please refer to the authentication chapter.\nEndpointlocation Resource APIs are supported from CVP 2021.1.0 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nendpointlocation.v1 Get the location of an endpoint based on its MAC Address curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/endpointlocation/v1/EndpointLocation?key.searchTerm=50:08:00:5b:d1:46\u0026#39; | jq Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;searchTerm\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34; }, \u0026#34;deviceMap\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;ENDPOINT_50:08:00:5b:d1:46\u0026#34;: { \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34;, \u0026#34;IDENTIFIER_SOURCE_LLDP\u0026#34; ] } } ] }, \u0026#34;deviceType\u0026#34;: \u0026#34;DEVICE_TYPE_ENDPOINT\u0026#34;, \u0026#34;locationList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Port-Channel4\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.785182952Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_LEARNED_DYNAMIC\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_VERY_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_DIRECT_CONNECTION\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34;, \u0026#34;IDENTIFIER_SOURCE_LLDP\u0026#34; ] } } ] } }, { \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Port-Channel4\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.813458919Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_PEER_DYNAMIC\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_VERY_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_DIRECT_CONNECTION\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34;, \u0026#34;IDENTIFIER_SOURCE_LLDP\u0026#34; ] } } ] } }, { \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Vxlan1\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.823923349Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_EVPN_DYNAMIC_REMOTE\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_LESS_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_VIRTUAL\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34; ] } } ] } }, { \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Vxlan1\u0026#34;, \u0026#34;vlanId\u0026#34;: 120, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-12T22:32:20.851241350Z\u0026#34;, \u0026#34;macType\u0026#34;: \u0026#34;MAC_TYPE_EVPN_DYNAMIC_REMOTE\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_LESS_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_VIRTUAL\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;50:08:00:5b:d1:46\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_FDB\u0026#34; ] } } ] } } ] }, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34; } } } }, \u0026#34;time\u0026#34;: \u0026#34;0001-01-01T00:00:00Z\u0026#34; } Get the location of an endpoint based on its IP Address To successfully find the endpoint, the IP address of the endpoint has to exist in either the MAC or ARP or DHCP or inventory tables and in the LLDP neighbor table.\ncurl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/endpointlocation/v1/EndpointLocation?key.searchTerm=10.142.148.50\u0026#39; | jq Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;searchTerm\u0026#34;: \u0026#34;10.142.148.50\u0026#34; }, \u0026#34;deviceMap\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;ENDPOINT_00:50:56:97:b8:f9\u0026#34;: { \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;00:50:56:97:b8:f9\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } }, { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_IPV4_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;10.142.148.50\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } } ] }, \u0026#34;deviceType\u0026#34;: \u0026#34;DEVICE_TYPE_ENDPOINT\u0026#34;, \u0026#34;locationList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE14252456\u0026#34;, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34;, \u0026#34;interface\u0026#34;: \u0026#34;Ethernet47\u0026#34;, \u0026#34;learnedTime\u0026#34;: \u0026#34;2022-08-13T01:13:11.492331146Z\u0026#34;, \u0026#34;likelihood\u0026#34;: \u0026#34;LIKELIHOOD_LIKELY\u0026#34;, \u0026#34;explanationList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;EXPLANATION_NON_INVENTORY_CONNECTION\u0026#34; ] }, \u0026#34;identifierList\u0026#34;: { \u0026#34;values\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_IPV4_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;10.142.148.50\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } }, { \u0026#34;type\u0026#34;: \u0026#34;IDENTIFIER_TYPE_MAC_ADDR\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;00:50:56:97:b8:f9\u0026#34;, \u0026#34;sourceList\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;IDENTIFIER_SOURCE_ARP\u0026#34; ] } } ] } } ] }, \u0026#34;deviceStatus\u0026#34;: \u0026#34;DEVICE_STATUS_ACTIVE\u0026#34; } } } }, \u0026#34;time\u0026#34;: \u0026#34;0001-01-01T00:00:00Z\u0026#34; } Get the location of all connected endpoints python The GetAll RPC is not implemented in this resource API, however a combination of cloudvision.Connector and the GetOne rAPI can be used to generate a report of all connected endpoints. An example that achieves this can be found on the cloudvision-python repo.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/events/","title":"Events","tags":[],"description":"","content":" Events Get all active events curl cvprac python requests Get a specific event curl cvprac python requests Get events between two dates curl cvprac python requests Get all INFO severity events curl cvprac python requests Get specific event types curl cvprac python requests Get all Low device disk space events with ERROR severity curl To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nEvents Get all active events curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; -b access_token=`cat token.tok` cvprac event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; response = client.get(event_url) python requests def get_events_all(): event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; url = cvp_url + event_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) print(response.text) get_events_all() Get a specific event curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.33/api/resources/event/v1/Event?key.key=6152f6160fc38f55\u0026amp;key.timestamp=2021-03-23T13:38:59.295341290Z\u0026#39; Result:\n{ \u0026#34;value\u0026#34;:{ \u0026#34;key\u0026#34;:{ \u0026#34;key\u0026#34;:\u0026#34;6152f6160fc38f55\u0026#34;, \u0026#34;timestamp\u0026#34;:\u0026#34;2021-03-23T13:38:59.295341290Z\u0026#34; }, \u0026#34;severity\u0026#34;:\u0026#34;EVENT_SEVERITY_ERROR\u0026#34;, \u0026#34;title\u0026#34;:\u0026#34;Low Disk Volume Space Available\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Detected low disk space on volume /mnt/flash, 93.46756% of space used\u0026#34;, \u0026#34;eventType\u0026#34;:\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;, \u0026#34;data\u0026#34;:{ \u0026#34;data\u0026#34;:{ \u0026#34;deviceId\u0026#34;:\u0026#34;JPE15233329\u0026#34;, \u0026#34;threshold\u0026#34;:\u0026#34;90\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;93.46756\u0026#34;, \u0026#34;volume\u0026#34;:\u0026#34;/mnt/flash\u0026#34; } }, \u0026#34;components\u0026#34;:{ \u0026#34;components\u0026#34;:[ { \u0026#34;type\u0026#34;:\u0026#34;COMPONENT_TYPE_DEVICE\u0026#34;, \u0026#34;components\u0026#34;:{ \u0026#34;deviceId\u0026#34;:\u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;:\u0026#34;2021-03-25T14:37:00Z\u0026#34; } The time key here shows the state of the resource at a given time, key.timestmap is part of the key for that an event.\ncvprac event_url = \u0026#39;/api/resources/event/v1/Event?\u0026#39; url = event_url + \u0026#39;key.key=\u0026#39; + key + \u0026#34;\u0026amp;key.timestamp=\u0026#34; + ts response = client.get(url) python requests def get_event(key, ts): event_url = \u0026#39;/api/resources/event/v1/Event?\u0026#39; url = cvp_url + event_url + \u0026#39;key.key=\u0026#39; + key + \u0026#34;\u0026amp;key.timestamp=\u0026#34; + ts head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) print(response.text) get_event(\u0026#34;bf931ff01f5c5a2\u0026#34;,\u0026#34;2021-04-01T18:14:53Z\u0026#34;) Get events between two dates When fetching a state from NetDB between two arbitrary dates, the result returned will contain data that existed between those two dates and not just data that was created between those dates. For instance if BGP events are queried between 2021-03-24 09:00 and 2021-03-24 10:00 the result will contain events that were active in the range of 9 AM to 10 AM. If there were events that started before 9 AM and were not resolved (still active) at that time, the result will contain those events too.\ncurl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all?time.start=2021-03-24T09:00:00Z\u0026amp;time.end=2021-03-24T10:00:00Z\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6a5eea29e5599b0\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-02-04T23:19:22.809962243Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_WARNING\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Interface went down unexpectedly\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Interface Ethernet1 on JPE19332824 is no longer operationally active\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;DEVICE_INTF_ERR_SMART\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet1\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_INTERFACE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet1\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2021-02-04T23:19:22.809962243Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6acbaa29e5b6002\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-02-04T23:19:22.819264873Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_WARNING\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Interface went down unexpectedly\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Interface Ethernet3 on JPE19332824 is no longer operationally active\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;DEVICE_INTF_ERR_SMART\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet3\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_INTERFACE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE19332824\u0026#34;, \u0026#34;interfaceId\u0026#34;: \u0026#34;Ethernet3\u0026#34; } } ] } } cvprac event_url = \u0026#39;/api/resources/event/v1/Event/all?\u0026#39; url = event_url + \u0026#39;time.start=\u0026#39; + t1 + \u0026#34;\u0026amp;time.end=\u0026#34; + t2 response = client.get(url) python requests def get_events_t1_t2(t1, t2): event_url = \u0026#39;/api/resources/event/v1/Event/all?\u0026#39; url = cvp_url + event_url + \u0026#39;time.start=\u0026#39; + t1 + \u0026#34;\u0026amp;time.end=\u0026#34; + t2 head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) print(response.text) get_events_t1_t2(\u0026#34;2021-03-24T09:00:00Z\u0026#34;, \u0026#34;2021-03-24T10:00:00Z\u0026#34;) Get all INFO severity events To apply filters on events, the POST method has to be used.\ncurl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: 1}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;571d021ba26bbb96\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2020-12-11T10:35:00Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_INFO\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;High PTP skew\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Detected high PTP skew (0)\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;HIGH_PTP_SKEW\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34;, \u0026#34;discovered\u0026#34;: \u0026#34;true\u0026#34;, \u0026#34;threshold\u0026#34;: \u0026#34;0.9\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;0\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2020-12-11T10:35:00Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_INFO\u0026#34;}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partial_eq_filter\u0026#34;: [{\u0026#34;severity\u0026#34;: 1}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; cvprac severity = 1 ## Severity INFO payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: severity }]} event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; response = client.post(event_url, data=payload) python requests def get_events_by_severity(severity): payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;severity\u0026#34;: severity }]} event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; url = cvp_url + event_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.post(url, headers=head, data=json.dumps(payload), verify=False) print(response.text) # Get with string value get_events_by_severity(\u0026#34;EVENT_SEVERITY_INFO\u0026#34;) # Get with enum value get_events_by_severity(1) Get specific event types curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;:\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6152f6160fc38f55\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-03-23T13:38:59.295341290Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_ERROR\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Low Disk Volume Space Available\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Detected low disk space on volume /mnt/flash, 93.46756% of space used\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34;, \u0026#34;threshold\u0026#34;: \u0026#34;90\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;93.46756\u0026#34;, \u0026#34;volume\u0026#34;: \u0026#34;/mnt/flash\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_DEVICE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2021-03-23T13:38:59.295341290Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } cvprac etype = \u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34; payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;: etype }]} get_events_by_type = clnt.post(event_url, data=payload) print(get_events_by_type) python requests def get_events_by_type(etype): payload = {\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;: etype }]} event_url = \u0026#39;/api/resources/event/v1/Event/all\u0026#39; url = cvp_url + event_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.post(url, headers=head, data=json.dumps(payload), verify=False) print(response.text) get_events_by_type(\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;) Get all Low device disk space events with ERROR severity The Low Disk Volume Space Available events have two default rules (custom rules can be added):\ngenerate a WARNING event if a partition on EOS goes above 80% generate an ERROR event if a partition on EOS goes above 90% To get only the ERROR events we can add the severity key to our filter.\ncurl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;eventType\u0026#34;:\u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;,\u0026#34;severity\u0026#34;:\u0026#34;EVENT_SEVERITY_ERROR\u0026#34;}]}\u0026#39; \u0026#39;https://192.0.2.33/api/resources/event/v1/Event/all\u0026#39; Result:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;6152f6160fc38f55\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;2021-04-06T19:39:29.307757986Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_ERROR\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Low Disk Volume Space Available\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Detected low disk space on volume /mnt/flash, 93.46767% of space used\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;LOW_DEVICE_DISK_SPACE\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34;, \u0026#34;threshold\u0026#34;: \u0026#34;90\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;93.46767\u0026#34;, \u0026#34;volume\u0026#34;: \u0026#34;/mnt/flash\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_DEVICE\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;JPE15233329\u0026#34; } } ] } }, \u0026#34;time\u0026#34;: \u0026#34;2021-04-06T19:39:29.307757986Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } If the partialEqFilter would\u0026rsquo;ve had two dictionaries inside the list, e.g.: [{\u0026quot;eventType\u0026quot;:\u0026quot;LOW_DEVICE_DISK_SPACE\u0026quot;},{\u0026quot;severity\u0026quot;:\u0026quot;EVENT_SEVERITY_ERROR\u0026quot;}]}' the filtering would\u0026rsquo;ve used an OR operation instead of AND, meaning that all events that have eventType=\u0026quot;LOW_DEVICE_DISK_SPACE\u0026quot; and all events that have ERROR severity would\u0026rsquo;ve been printed.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/","title":"Examples","tags":[],"description":"","content":" gRPC REST API Examples "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/grpc/","title":"gRPC","tags":[],"description":"","content":" For troubleshooting the following trace can be added before the grpcurl command: GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info\ngRPC API examples gRPC APIs for both Resource APIs and cloudvision.Connector can be found at:\nhttps://github.com/aristanetworks/cloudvision-python https://github.com/aristanetworks/cloudvision-go gRPCurl Syntaxes List services grpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; list List methods of a service grpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; list \u0026lt;serviceName\u0026gt; Describe the details of the messages of the methods of a service grpcurl -plaintext -msg-template -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; describe \u0026lt;serviceName\u0026gt;.\u0026lt;method\u0026gt; Perform a call grpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path \u0026lt;resource-path\u0026gt; \\ -proto \u0026lt;proto file\u0026gt; \\ -cacert \u0026lt;cvp cert\u0026gt; -d \u0026#39;\u0026lt;JSON data\u0026gt;\u0026#39; \u0026lt;host\u0026gt;:\u0026lt;port\u0026gt; \u0026lt;serviceName\u0026gt;/\u0026lt;method\u0026gt; gRPCurl examples List event services grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 list Result:\narista.event.v1.EventAnnotationConfigService arista.event.v1.EventService List methods of EventService grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 list arista.event.v1.EventService Result:\narista.event.v1.EventService.GetAll arista.event.v1.EventService.GetOne arista.event.v1.EventService.Subscribe Describe the details of the messages of the GetAll method of the EventService grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 describe arista.event.v1.EventService.GetAll Result:\narista.event.v1.EventService.GetAll is a method: rpc GetAll ( .arista.event.v1.EventStreamRequest ) returns ( stream .arista.event.v1.EventStreamResponse ); Describe the message template of the .arista.event.v1.EventStreamRequest message grpcurl -plaintext -msg-template -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 describe .arista.event.v1.EventStreamRequest Result:\narista.event.v1.EventStreamRequest is a message: message EventStreamRequest { // PartialEqFilter provides a way to server-side filter a GetAll/Subscribe. // This requires all provided fields to be equal to the response. // // While transparent to users, this field also allows services to optimize internal // subscriptions if filter(s) are sufficiently specific. repeated .arista.event.v1.Event partial_eq_filter = 1; // TimeRange allows limiting response data to within a specified time window. // If this field is populated, at least one of the two time fields are required. // // This field is not allowed in the Subscribe RPC. .arista.time.TimeBounds time = 3; } Message template: { \u0026#34;partialEqFilter\u0026#34;: [ { \u0026#34;key\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;timestamp\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; }, \u0026#34;severity\u0026#34;: \u0026#34;EVENT_SEVERITY_UNSPECIFIED\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;eventType\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;data\u0026#34;: { \u0026#34;data\u0026#34;: { \u0026#34;\u0026#34;: \u0026#34;\u0026#34; } }, \u0026#34;components\u0026#34;: { \u0026#34;components\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;COMPONENT_TYPE_UNSPECIFIED\u0026#34;, \u0026#34;components\u0026#34;: { \u0026#34;\u0026#34;: \u0026#34;\u0026#34; } } ] }, \u0026#34;ack\u0026#34;: { \u0026#34;ack\u0026#34;: false, \u0026#34;acker\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;ackTime\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; }, \u0026#34;notes\u0026#34;: { \u0026#34;notes\u0026#34;: { \u0026#34;0\u0026#34;: { \u0026#34;note\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;noteCreator\u0026#34;: \u0026#34;\u0026#34; } } }, \u0026#34;lastUpdatedTime\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; } ], \u0026#34;time\u0026#34;: { \u0026#34;start\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34;, \u0026#34;end\u0026#34;: \u0026#34;1970-01-01T00:00:00Z\u0026#34; } } Describe the event severities grpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt 192.0.2.100:443 describe arista.event.v1.EventSeverity Result:\narista.event.v1.EventSeverity is an enum: // EventSeverity is the severity level of the event enum EventSeverity { EVENT_SEVERITY_UNSPECIFIED = 0; EVENT_SEVERITY_INFO = 1; EVENT_SEVERITY_WARNING = 2; EVENT_SEVERITY_ERROR = 3; EVENT_SEVERITY_CRITICAL = 4; } We can apply server-side filters using partialEqFilter or partial_eq_filter (so both snake_case and lowerCamelCase are supported) and apply various filters such as severity or eventType and others.\nSome of the variables are enums which means we can use both the variant and the discriminant, as in the below two examples we can get all ERROR severity events by setting severity to ​​EVENT_SEVERITY_ERROR or to 3, both would yield the same result:\ngrpcurl -H \u0026#34;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#34; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;severity\u0026#34;:\u0026#34;EVENT_SEVERITY_ERROR\u0026#34;}]}\u0026#39; 192.0.2.100:443 arista.event.v1.EventService/GetAll or\ngrpcurl -H \u0026#39;Authorization: Bearer \u0026lt;token\u0026gt;\u0026#39; \\ -import-path $GOPATH/src/github.com/cloudvision-apis/ \\ -proto $GOPATH/src/github.com/cloudvision-apis/arista/event.v1/services.gen.proto \\ -cacert cvp.crt -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;severity\u0026#34;:3}]}\u0026#39; 192.0.2.100:443 arista.event.v1.EventService/GetAll "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/inventory/","title":"Inventory","tags":[],"description":"","content":" Device Get device state by serial number curl Get all devices from inventory curl cvprac python requests Decommission a device curl Get the decommission state of a device curl Get the decommission state of all devices curl Get the decommission state of all devices that failed to be decommissioned curl Onboard a device curl Get the onboarding state by request ID curl Get the onboarding state for all devices curl Get the onboarding state for all devices and filter by status curl Get the provisioning state for devices in ZTP mode curl To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nDevice Get device state by serial number curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device?key.deviceId=BAD032986065E8DC14CBB6472EC314A6\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;}, \u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;, \u0026#34;modelName\u0026#34;:\u0026#34;vEOS-lab\u0026#34;, \u0026#34;hardwareRevision\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;fqdn\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;, \u0026#34;hostname\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;, \u0026#34;domainName\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;systemMacAddress\u0026#34;:\u0026#34;50:08:00:a7:ca:c3\u0026#34;, \u0026#34;bootTime\u0026#34;:\u0026#34;2021-12-01T20:06:18.607800006Z\u0026#34;, \u0026#34;streamingStatus\u0026#34;:\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;, \u0026#34;extendedAttributes\u0026#34;:{\u0026#34;featureEnabled\u0026#34;:{\u0026#34;Danz\u0026#34;:false, \u0026#34;Mlag\u0026#34;:false}}}, \u0026#34;time\u0026#34;:\u0026#34;2022-02-03T10:04:38.376359403Z\u0026#34;}% Get all devices from inventory curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device/all\u0026#39; | jq \u0026#39;.result.value | with_entries(select(.[])) | select(.streamingStatus==\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;) | .hostname\u0026#39; \u0026#34;cd263\u0026#34; \u0026#34;sn413\u0026#34; \u0026#34;fm422\u0026#34; \u0026#34;sn503\u0026#34; \u0026#34;psp301\u0026#34; \u0026#34;wl504\u0026#34; \u0026#34;cloudEOS1\u0026#34; We can use POST and partialEqFilter to get more specific data, e.g.: to get all actively streaming devices we can filter by streamingStatus by setting the \u0026quot;STREAMING_STATUS_ACTIVE\u0026quot; or 2\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;streamingStatus\u0026#34;:2}]}\u0026#39; Get all actively streaming devices that are running on EOS 4.27.0F:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/Device/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;streamingStatus\u0026#34;:2, \u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;,\u0026#34;modelName\u0026#34;:\u0026#34;vEOS-lab\u0026#34;,\u0026#34;hardwareRevision\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;fqdn\u0026#34;:\u0026#34;tp-avd-leaf4\u0026#34;,\u0026#34;hostname\u0026#34;:\u0026#34;tp-avd-leaf4\u0026#34;,\u0026#34;domainName\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;systemMacAddress\u0026#34;:\u0026#34;50:08:00:25:9d:36\u0026#34;,\u0026#34;bootTime\u0026#34;:\u0026#34;2021-10-20T17:44:35.621819972Z\u0026#34;,\u0026#34;streamingStatus\u0026#34;:\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;,\u0026#34;extendedAttributes\u0026#34;:{\u0026#34;featureEnabled\u0026#34;:{\u0026#34;Danz\u0026#34;:false,\u0026#34;Mlag\u0026#34;:false}}},\u0026#34;time\u0026#34;:\u0026#34;2022-01-27T22:33:58.745524517Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;softwareVersion\u0026#34;:\u0026#34;4.27.0F\u0026#34;,\u0026#34;modelName\u0026#34;:\u0026#34;vEOS-lab\u0026#34;,\u0026#34;hardwareRevision\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;fqdn\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;,\u0026#34;hostname\u0026#34;:\u0026#34;tp-avd-leaf1\u0026#34;,\u0026#34;domainName\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;systemMacAddress\u0026#34;:\u0026#34;50:08:00:a7:ca:c3\u0026#34;,\u0026#34;bootTime\u0026#34;:\u0026#34;2021-12-01T20:06:18.607800006Z\u0026#34;,\u0026#34;streamingStatus\u0026#34;:\u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;,\u0026#34;extendedAttributes\u0026#34;:{\u0026#34;featureEnabled\u0026#34;:{\u0026#34;Danz\u0026#34;:false,\u0026#34;Mlag\u0026#34;:false}}},\u0026#34;time\u0026#34;:\u0026#34;2022-02-03T10:04:38.376359403Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} cvprac def get_active_devices(client): \u0026#39;\u0026#39;\u0026#39; Get active devices \u0026#39;\u0026#39;\u0026#39; dev_url = \u0026#39;/api/resources/inventory/v1/Device/all\u0026#39; devices_data = client.get(dev_url) devices = [] for device in devices_data[\u0026#39;data\u0026#39;]: try: if device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;streamingStatus\u0026#39;] == \u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;: devices.append(device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;hostname\u0026#39;]) # pass on archived datasets except KeyError as e: continue return devices print(get_active_devices(clnt)) python requests from json import JSONDecoder, JSONDecodeError def json_decoder(data): decoder = JSONDecoder() pos = 0 result = [] while True: try: o, pos = decoder.raw_decode(data, pos) result.append(o) pos +=1 except JSONDecodeError: break return result def get_active_devices(): dev_url = \u0026#39;/api/resources/inventory/v1/Device/all\u0026#39; url = cvp_url + dev_url head = {\u0026#39;Authorization\u0026#39;: \u0026#39;Bearer {}\u0026#39;.format(token)} response = requests.get(url, headers=head, verify=False) devices_data = json_decoder(response.text) devices = [] for device in devices_data: try: if device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;streamingStatus\u0026#39;] == \u0026#34;STREAMING_STATUS_ACTIVE\u0026#34;: devices.append(device[\u0026#39;result\u0026#39;][\u0026#39;value\u0026#39;][\u0026#39;hostname\u0026#39;]) # pass on archived datasets except KeyError as e: continue return devices print(get_active_devices()) Sample output python3 resource_native.py [\u0026#39;cd263\u0026#39;, \u0026#39;sn413\u0026#39;, \u0026#39;fm422\u0026#39;, \u0026#39;sn503\u0026#39;, \u0026#39;psp301\u0026#39;, \u0026#39;wl504\u0026#39;, \u0026#39;cloudEOS1\u0026#39;] Decommission a device curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioningConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;123456789\u0026#34;},\u0026#34;device_id\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;}\u0026#39; Get the decommission state of a device curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning?key.requestId=123456789\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;123456789\u0026#34;}, \u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_IN_PROGRESS\u0026#34;, \u0026#34;statusMessage\u0026#34;:\u0026#34;Disabled TerminAttr, waiting for device to be marked inactive\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2022-02-04T00:40:24.893100195Z\u0026#34;} Get the decommission state of all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning/all\u0026#39; Get the decommission state of all devices that failed to be decommissioned curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [ {\u0026#34;status\u0026#34;:2}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;2337d655-b1e5-4003-9325-beff8c9e7f4a\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_FAILURE\u0026#34;,\u0026#34;error\u0026#34;:\u0026#34;Timed out waiting for device BAD032986065E8DC14CBB6472EC314A6 status to be inactive\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:49.566294590Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;7802d5a5-040d-4d86-805f-d63891256201\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_FAILURE\u0026#34;,\u0026#34;error\u0026#34;:\u0026#34;Pending/In-progress tasks exist for the device\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:49.566299871Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;d88b046f-3338-450f-bf47-a28f6ced700e\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_FAILURE\u0026#34;,\u0026#34;error\u0026#34;:\u0026#34;Pending/In-progress tasks exist for the device\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:49.566304560Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} or get the state of decommissioning for devices for which the decommissioning is still in progress:\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceDecommissioning/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [ {\u0026#34;status\u0026#34;:1}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;123456789\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;DECOMMISSIONING_STATUS_IN_PROGRESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Disabled TerminAttr, waiting for device to be marked inactive\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:41:46.376310308Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Onboard a device The service account\u0026rsquo;s name has to match the username logged in on the CVP UI and that same username has to be allowed on the device. The user should be logged in on the UI when using the the DeviceOnboarding APIs.\ncurl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboardingConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;},\u0026#34;hostnameOrIp\u0026#34;:\u0026#34;192.0.2.139\u0026#34;,\u0026#34;device_type\u0026#34;:\u0026#34;eos\u0026#34;}\u0026#39; Get the onboarding state by request ID curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboarding?key.requestId=133713371337\u0026#39; Output:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;}, \u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ9999999\u0026#34;, \u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;, \u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;}, \u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:51:13.447185558Z\u0026#34;} Get the onboarding state for all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboarding/all\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ9999999\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:51:13.447185558Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get the onboarding state for all devices and filter by status curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/DeviceOnboarding/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;}]}\u0026#39; {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;133713371337\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ7654321\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:51:13.447185558Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;1337133713381123\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;ZZZ1234567\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T22:46:33.709449980Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;0342271e-19e0-4672-9d09-85acd7a427b5\u0026#34;},\u0026#34;deviceId\u0026#34;:\u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;,\u0026#34;status\u0026#34;:\u0026#34;ONBOARDING_STATUS_SUCCESS\u0026#34;,\u0026#34;statusMessage\u0026#34;:\u0026#34;Device onboarded successfully\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-07-11T15:19:22.293390239Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get the provisioning state for devices in ZTP mode curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/inventory/v1/ProvisionedDevice/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;:[{\u0026#34;ztpMode\u0026#34;:true}]}\u0026#39; Output:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE15214224\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.240\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-01-31T13:16:09.885Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE19050707\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.121\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-01-30T19:06:00.070338261Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE16401934\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.254\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:48:14.187Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;deviceId\u0026#34;:\u0026#34;JPE15064123\u0026#34;},\u0026#34;status\u0026#34;:\u0026#34;PROVISIONING_STATUS_SUCCESS\u0026#34;,\u0026#34;ztpMode\u0026#34;:true,\u0026#34;ipAddress\u0026#34;:{\u0026#34;value\u0026#34;:\u0026#34;192.0.2.250\u0026#34;},\u0026#34;provisioningGroupName\u0026#34;:\u0026#34;undefined_container\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2022-02-04T19:53:13.016Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/lifecycle/","title":"Lifecycle","tags":[],"description":"","content":" Lifecycle.v1 Get device lifecycle summary for all devices curl Get device lifecycle summary for a device curl To generate a service account token please refer to the authentication chapter.\nLifecycle Resource APIs are supported from CVP 2022.1.1 or newer and in CloudVision-as-a-Service.\njq can be used to easily format and parse the outputs.\nLifecycle.v1 Get device lifecycle summary for all devices curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://www.arista.io/api/resources/lifecycle/v1/DeviceLifecycleSummary/all\u0026#39; Output:\n{ \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;ZZZ9999999\u0026#34; }, \u0026#34;softwareEol\u0026#34;: { \u0026#34;version\u0026#34;: \u0026#34;4.28.1F\u0026#34;, \u0026#34;endOfSupport\u0026#34;: \u0026#34;2025-04-18T00:00:00Z\u0026#34; } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-11T06:37:43.841719913Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } { \u0026#34;result\u0026#34;: { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;ZZZ9999999\u0026#34; }, \u0026#34;softwareEol\u0026#34;: { \u0026#34;version\u0026#34;: \u0026#34;4.27.3.1F\u0026#34;, \u0026#34;endOfSupport\u0026#34;: \u0026#34;2024-09-27T00:00:00Z\u0026#34; }, \u0026#34;hardwareLifecycleSummary\u0026#34;: { \u0026#34;endOfLife\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2025-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } }, \u0026#34;endOfSale\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2022-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } }, \u0026#34;endOfTacSupport\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } }, \u0026#34;endOfHardwareRmaRequests\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2025-03-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7050SX-64\u0026#34;: 1 } } } } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-04T03:44:29.409669418Z\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INITIAL\u0026#34; } } Get device lifecycle summary for a device curl curl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/lifecycle/v1/DeviceLifecycleSummary?key.deviceId=ZZZ9999999\u0026#39; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;deviceId\u0026#34;: \u0026#34;ZZZ9999999\u0026#34; }, \u0026#34;softwareEol\u0026#34;: { \u0026#34;version\u0026#34;: \u0026#34;4.23.10M\u0026#34;, \u0026#34;endOfSupport\u0026#34;: \u0026#34;2022-09-27T00:00:00Z\u0026#34; }, \u0026#34;hardwareLifecycleSummary\u0026#34;: { \u0026#34;endOfLife\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } }, \u0026#34;endOfSale\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2021-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } }, \u0026#34;endOfTacSupport\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } }, \u0026#34;endOfHardwareRmaRequests\u0026#34;: { \u0026#34;date\u0026#34;: \u0026#34;2024-12-20T00:00:00Z\u0026#34;, \u0026#34;models\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;DCS-7150S-52-CL\u0026#34;: 1 } } } } }, \u0026#34;time\u0026#34;: \u0026#34;2022-07-26T06:56:05.385727340Z\u0026#34; } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/","title":"Models","tags":[],"description":"","content":" alert.v1 bugexposure.v1 changecontrol.v1 configlet.v1 configstatus.v1 connectivitymonitor.v1 dashboard.v1 endpointlocation.v1 event.v1 identityprovider.v1 imagestatus.v1 inventory.v1 lifecycle.v1 redirector.v1 serviceaccount.v1 studio.v1 tag.v2 workspace.v1 "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/","title":"REST API Examples","tags":[],"description":"","content":" Bugexposure Change Control Dashboard Endpointlocation Events Inventory Lifecycle Studios and Workspaces Tags Examples scripts: examples_cvprac.py, examples_python_rest.py\nREST bindings for Resource APIs were introduced in CVP 2021.1.0\nWhen fetching a state from NetDB between two arbitrary dates, the result returned will contain data that existed between those two dates and not just data that was created between those dates. For instance if BGP events are queried between 2023-05-01 10:00 and 2023-05-01 12:00 the result will contain events that were active in the range of 10 AM to 12 PM. If there were events that started before 10 AM and were not resolved (still active) at that time, the result will contain those events too.\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/studios-and-workspaces/","title":"Studios and Workspaces","tags":[],"description":"","content":" Introduction Get Studio and Workspace info Get all workspace configs Get a single workspace config Get all workspaces’ state Get a single workspace state Get a workspace build status and output Get all studio configs Get all studios’ state Get a single studio config in a workspace Get a single studio config in mainline Get a single studio state in a workspace Get a single studio state in mainline Use an existing studio Create a workspace curl Set inputs for the studio curl Assign the studio to devices curl Build the workspace curl Submit the workspace curl Create a new Studio Create a workspace curl Create a studio curl Build the workspace curl Submit the workspace curl Delete a Studio Create workspace curl Unassign the tags curl Delete the studio curl Build the workspace curl Submit the workspace curl Delete a workspace grpcurl curl To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nIntroduction This document describes how to use Studio APIs to interact with Cloudvision Studios. They follow the Resource API semantics that are documented at https://aristanetworks.github.io/cloudvision-apis/. In this document, we illustrate the APIs using HTTP endpoints with JSON requests and responses. Using protobuf bindings, these operations can be done in a supported programming language (Go and Python) as well. See the above link for further details on how to use those bindings.\nAll changes that impact device configuration must be made in a workspace and submitted. The typical sequence of operations is 1.Create a workspace 2.Add objects that you want to modify into the workspace (either brand new objects, or copies of existing objects from mainline, or content that’s already submitted via a previous workspace); 3.Build the workspace 4.Submit.\nBelow are example APIs to use an existing studio, and also to create a brand new studio that generates timezone configuration. Given are the HTTP URL for each API and the body to POST to that URL.\nYou can use the below curl command to POST the body. “$token” is obtained from the access_token cookie returned by authenticating to CVP.\ncurl -sS -k -X POST $URL --cookie \u0026#34;access_token=$token\u0026#34; -d “$BODY” e.g.\ncurl -sS -k -X POST \u0026#34;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#34; --cookie \u0026#34;access_token=$token\u0026#34; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34;}, \u0026#34;display_name\u0026#34;: \u0026#34;Set timezone to EST\u0026#34;}\u0026#39; Note that for the field names in the POST body, both snake case (such as studio_id) and camel case (such as studioId) are accepted. Responses are always in camel case.\nGet Studio and Workspace info Get all workspace configs curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/WorkspaceConfig/all -b access_token=`cat token.tok` Get a single workspace config curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/WorkspaceConfig?key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get all workspaces’ state curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/Workspace/all -b access_token=`cat token.tok` Get a single workspace state curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/Workspace?key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get a workspace build status and output curl -sS -k -X GET https://$CVP/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=ws-timezone\u0026amp;key.buildId=b1 -b access_token=`cat token.tok` Get all studio configs curl -sS -k -X GET https://$CVP/api/resources/studio/v1/StudioConfig/all -b access_token=`cat token.tok` grpcurl -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; -import-path $GOPATH/src/arista/resources -proto $GOPATH/src/arista/resources/arista/studio.v1/services.gen.proto -cacert cvp.crt 192.0.2.100:8443 arista.studio.v1.StudioConfigService/GetAll Get all studios’ state curl -sS -k -X GET https://$CVP/api/resources/studio/v1/Studio/all -b access_token=`cat token.tok` Get a single studio config in a workspace curl -sS -k -X GET https://$CVP/api/resources/studio/v1/StudioConfig?key.studioId=studio-timezone\u0026amp;key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get a single studio config in mainline curl -sS -k -X GET https://$CVP/api/resources/studio/v1/StudioConfig?key.studioId=studio-timezone\u0026amp;key.workspaceId= -b access_token=`cat token.tok` Get a single studio state in a workspace curl -sS -k -X GET https://$CVP/api/resources/studio/v1/Studio?key.studioId=studio-timezone\u0026amp;key.workspaceId=ws-timezone -b access_token=`cat token.tok` Get a single studio state in mainline curl -sS -k -X GET https://$CVP/api/resources/studio/v1/Studio?key.studioId=studio-timezone\u0026amp;key.workspaceId= -b access_token=`cat token.tok` Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;studioId\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspaceId\u0026#34;: \u0026#34;\u0026#34; }, \u0026#34;displayName\u0026#34;: \u0026#34;Set timezone\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;This studio generates timezone configuration\u0026#34;, \u0026#34;template\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;TEMPLATE_TYPE_MAKO\u0026#34;, \u0026#34;body\u0026#34;: \u0026#34;%if timezoneAssignment[\\\u0026#34;timezone\\\u0026#34;]:\\nclock timezone ${timezoneAssignment[\\\u0026#34;timezone\\\u0026#34;]}\\n%endif\\n\u0026#34; }, \u0026#34;inputSchema\u0026#34;: { ... ... } } Use an existing studio Create a workspace URL: https://$CVP_INSTANCE/api/resources/workspace/v1/WorkspaceConfig POST BODY (workspace.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;display_name\u0026#34;:\u0026#34;Configure timezone\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Configure timezone on all devices\u0026#34;, } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Set inputs for the studio URL: https://$CVP/api/resources/studio/v1/InputsConfig POST BODY (studio-payload.json):\nNote the embedded JSON string.\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-date-time\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;ws-change-timezone\u0026#34;, \u0026#34;path\u0026#34;: {\u0026#34;values\u0026#34;: []} }, \u0026#34;inputs\u0026#34;: \u0026#34;{\\\u0026#34;ntpServerResolver\\\u0026#34;: [{\\\u0026#34;inputs\\\u0026#34;: {\\\u0026#34;ntpServers\\\u0026#34;: [{\\\u0026#34;iburst\\\u0026#34;: false, \\\u0026#34;ntpServer\\\u0026#34;: \\\u0026#34;time.google.com\\\u0026#34;, \\\u0026#34;preferred\\\u0026#34;: false, \\\u0026#34;vrf\\\u0026#34;: \\\u0026#34;MGMT\\\u0026#34;}, {\\\u0026#34;iburst\\\u0026#34;: false, \\\u0026#34;ntpServer\\\u0026#34;: \\\u0026#34;pool.ntp.org\\\u0026#34;, \\\u0026#34;preferred\\\u0026#34;: false, \\\u0026#34;vrf\\\u0026#34;: \\\u0026#34;MGMT\\\u0026#34;}]}, \\\u0026#34;tags\\\u0026#34;: {\\\u0026#34;query\\\u0026#34;: \\\u0026#34;datacenter:NY\\\u0026#34;}}], \\\u0026#34;timezoneResolver\\\u0026#34;: [{\\\u0026#34;inputs\\\u0026#34;: {\\\u0026#34;timezoneGroup\\\u0026#34;: {\\\u0026#34;otherTimezone\\\u0026#34;: \\\u0026#34;\\\u0026#34;, \\\u0026#34;timezone\\\u0026#34;: \\\u0026#34;GMT\\\u0026#34;}}, \\\u0026#34;tags\\\u0026#34;: {\\\u0026#34;query\\\u0026#34;: \\\u0026#34;datacenter:NY\\\u0026#34;}}]}\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/InputsConfig\u0026#39; \\ -d \u0026#34;`cat studio-payload.json`\u0026#34; Assign the studio to devices URL: https://$CVP/api/resources/studio/v1/AssignedTagsConfig POST BODY (assigntags.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-date-time\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;query\u0026#34;: \u0026#34;datacenter:NY\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/AssignedTagsConfig\u0026#39; \\ -d \u0026#34;`cat assigntags.json`\u0026#34; Build the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig POST BODY (ws-build.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Submit the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig POST BODY:\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-change-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-submit.json`\u0026#34; Create a new Studio Create a workspace URL: https://$CVP_INSTANCE/api/resources/workspace/v1/WorkspaceConfig\nPOST BODY:\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; } \u0026#34;display_name\u0026#34;:\u0026#34;Configure timezone\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Configure timezone on all devices\u0026#34;, } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Create a studio URL: https://$CVP_INSTANCE/api/resources/studio/v1/StudioConfig\nPOST BODY (newstudio.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;ws-timezone\u0026#34; }, \u0026#34;display_name\u0026#34;: \u0026#34;Set timezone\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;This configlet generates timezone configuration\u0026#34;, \u0026#34;template\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;TEMPLATE_TYPE_MAKO\u0026#34;, \u0026#34;body\u0026#34;: \u0026#34;% if timezone:\\n clock timezone ${timezone}\\n% endif\\n\u0026#34; }, \u0026#34;input_schema\u0026#34;: { \u0026#34;fields\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;root\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;root\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INPUT_FIELD_TYPE_GROUP\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;group_props\u0026#34;: { \u0026#34;members\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;inputfield_timezoneAssignment\u0026#34; ] } } }, \u0026#34;inputfield_timezoneAssignment\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;inputfield_timezoneAssignment\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INPUT_FIELD_TYPE_RESOLVER\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;timezoneAssignment\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;Timezone Assignment\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Timezone resolver input\u0026#34;, \u0026#34;required\u0026#34;: false, \u0026#34;resolver_props\u0026#34;: { \u0026#34;base_field_id\u0026#34;: \u0026#34;inputfield_timezone\u0026#34;, \u0026#34;display_mode\u0026#34;: \u0026#34;RESOLVER_FIELD_DISPLAY_MODE_SPARSE\u0026#34;, \u0026#34;input_mode\u0026#34;: \u0026#34;RESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG\u0026#34; } }, \u0026#34;inputfield_timezone\u0026#34;: { \u0026#34;id\u0026#34;: \u0026#34;inputfield_timezone\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;INPUT_FIELD_TYPE_STRING\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;timezone\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;Timezone\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Timezone value configured on the device\u0026#34;, \u0026#34;string_props\u0026#34;: { \u0026#34;default_value\u0026#34;: \u0026#34;GMT\u0026#34;, \u0026#34;static_options\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;CST\u0026#34;, \u0026#34;EST\u0026#34;, \u0026#34;GMT\u0026#34;, \u0026#34;PST\u0026#34; ] } } } } } } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/StudioConfig\u0026#39; \\ -d \u0026#34;`cat newstudio.json`\u0026#34; Build the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig\nPOST BODY (ws-build.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-build.json`\u0026#34; Submit the workspace URL: https://$CVP/api/resources/workspace/v1/WorkspaceConfig POST BODY (ws-submit.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-submit.json`\u0026#34; Delete a Studio Create workspace POST BODY (workspace.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;del-studio\u0026#34; }, \u0026#34;display_name\u0026#34;:\u0026#34;Delete timezone studio\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;Remove timezone on all devices\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat workspace.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;displayName\u0026#34;: \u0026#34;Delete timezone studio\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Remove timezone on all devices\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-16T23:59:35.551Z\u0026#34; } Unassign the tags POST BODY (unassigntags.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;query\u0026#34;: \u0026#34;\u0026#34; } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/AssignedTagsConfig\u0026#39; \\ -d \u0026#34;`cat unassigntags.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;studioId\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspaceId\u0026#34;: \u0026#34;ws-timezone-delete\u0026#34; }, \u0026#34;query\u0026#34;: \u0026#34;\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-16T23:24:30.397673655Z\u0026#34; } Delete the studio POST BODY (deletestudio.json):\n{ \u0026#34;key\u0026#34;: { \u0026#34;studio_id\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspace_id\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;remove\u0026#34;: true } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/studio/v1/StudioConfig\u0026#39; \\ -d \u0026#34;`cat deletestudio.json`\u0026#34; { \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;studioId\u0026#34;: \u0026#34;studio-timezone\u0026#34;, \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;remove\u0026#34;: true }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-17T00:00:45.225196219Z\u0026#34; } Build the workspace POST BODY (ws-build.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-build.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;: \u0026#34;REQUEST_START_BUILD\u0026#34;, \u0026#34;requestParams\u0026#34;: { \u0026#34;requestId\u0026#34;: \u0026#34;b1\u0026#34; } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-17T00:00:54.195Z\u0026#34; } Submit the workspace POST BODY (ws-submit.json):\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;: \u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;request_params\u0026#34;:{ \u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34; } } curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; \\ -b access_token=`cat token.tok` \\ \u0026#39;https://192.0.2.79/api/resources/workspace/v1/WorkspaceConfig\u0026#39; \\ -d \u0026#34;`cat ws-submit.json`\u0026#34; Output:\n{ \u0026#34;value\u0026#34;: { \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;del-studio\u0026#34; }, \u0026#34;request\u0026#34;: \u0026#34;REQUEST_SUBMIT\u0026#34;, \u0026#34;requestParams\u0026#34;: { \u0026#34;requestId\u0026#34;: \u0026#34;s1\u0026#34; } }, \u0026#34;time\u0026#34;: \u0026#34;2022-08-17T00:00:57.894Z\u0026#34; } Delete a workspace URL: https://$CVP_INSTANCE/api/resources/workspace/v1/WorkspaceConfig\nPOST BODY:\n{ \u0026#34;key\u0026#34;:{ \u0026#34;workspace_id\u0026#34;:\u0026#34;ws-timezone\u0026#34; } } grpcurl grpcurl -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; -import-path $GOPATH/src/arista/resources -proto $GOPATH/src/arista/resources/arista/workspace.v1/services.gen.proto -cacert cvp.crt -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;: \u0026#34;builtin-studios-V0-l3ls\u0026#34;}}\u0026#39; 192.0.2.100:8443 arista.workspace.v1.WorkspaceConfigService/Delete Result:\n{ \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;builtin-studios-V0-l3ls\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2021-07-22T17:09:51.788962287Z\u0026#34; } curl curl -sS -kX DELETE --header \u0026#39;Accept: application/json\u0026#39; -H \u0026#34;Authorization: Bearer `cat token.tok`\u0026#34; \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig?key.workspaceId=builtin-studios-V0-l3ls\u0026#39; Result:\n{ \u0026#34;key\u0026#34;: { \u0026#34;workspaceId\u0026#34;: \u0026#34;builtin-studios-V0-l3ls\u0026#34; }, \u0026#34;time\u0026#34;: \u0026#34;2021-07-22T17:39:28.789768498Z\u0026#34; } "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/examples/rest/tag/","title":"Tags","tags":[],"description":"","content":" Tags Tag.v2 Get all tags Get all interface tags Get all device tags Create and assign device tag Create and assign interface tag Unassign a device or interface tag Remove an existing device/interface tag Show all tags edits in a workspace Show all tag assignment edits in a workspace Leaf-spine topology tagging example To generate a service account token please refer to the authentication chapter.\njq can be used to easily format and parse the outputs.\nTags Tag.v2 The Tag.v2 API is a workspace-aware resource APIs, meaning all changes must be done within a workspace. Changes only get commited upon submitting the workspace. The following examples will walk through device and interface tag creation and assignment workflow.\nGet all tags curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/Tag/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;bgp\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;disabled\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-31T12:13:02.196521931Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;bgp\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;enabled\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-14T07:26:29.341574116Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.3M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-28T02:59:00.766193431Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.5M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-14T07:26:27.413625640Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.25.0F\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T17:15:37.885129346Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.21.6F\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-29T13:42:04.760294195Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.4M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-02T09:43:47.909750932Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.24.2F\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-16T12:58:30.560542937Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.23.4.3M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-30T10:37:35.606467220Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;eos\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;4.25.3.1M\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-07T02:01:36.654997065Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan7\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-06-25T18:22:54.280867585Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan100\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-28T02:59:01.286803486Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan111\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-08-30T17:00:00.078489504Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan78\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-06-25T21:24:48.360777488Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T16:22:31.232251875Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan55\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-07-28T02:59:06.877353719Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;name\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Vlan19\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T17:15:38.668776675Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get all interface tags curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/Tag/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;7de7c055-826c-4390-9dba-361afcb87536\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-31T01:07:29.839897276Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;a79b211e-83f5-430e-b1e2-b404c5aa1075\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;interface_role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;downlinks\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-01T13:29:21.111654547Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Get all device tags curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/Tag/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;ire-pod10\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:55:04.750886803Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;12b90dee-b4a0-4882-b02b-3636ec7e3c4a\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;DC\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;DC1\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-27T11:44:44.607449628Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;12b90dee-b4a0-4882-b02b-3636ec7e3c4a\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;Role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Leaf\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-27T11:44:31.028093497Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;ire-pod111\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:55:14.319537170Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;26ad35cb-23e5-459c-8ef2-f1adac43406c\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;DC\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;DC@\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-07-29T13:21:27.229646717Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;26ad35cb-23e5-459c-8ef2-f1adac43406c\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;DC\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;DC1\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-07-29T13:22:34.405718999Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;0fa846aa-7830-402e-a33f-0fa20ad1ccf7\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;Role\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;Leaf\u0026#34;},\u0026#34;creatorType\u0026#34;:\u0026#34;CREATOR_TYPE_USER\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-08-30T14:27:58.547155198Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Create and assign device tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test tag resource APIv2\u0026#34;}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;displayName\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test tag resource APIv2\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:54:54.274Z\u0026#34;}% 2. Create the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;testTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-pod10\u0026#34;}}\u0026#39; {\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;avd-pod10\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:55:14.319537170Z\u0026#34;}% 3. Assign the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;testTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod10\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;, }, \u0026#34;remove\u0026#34;: false}\u0026#39; 4. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;b1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T17:57:18.683Z\u0026#34;}% 5. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=testTag\u0026amp;key.buildId=b1\u0026#39; Result:\n{\u0026#39;value\u0026#39;: {\u0026#39;key\u0026#39;: {\u0026#39;workspaceId\u0026#39;: \u0026#39;testTag\u0026#39;, \u0026#39;buildId\u0026#39;: \u0026#39;b1\u0026#39;}, \u0026#39;state\u0026#39;: \u0026#39;BUILD_STATE_SUCCESS\u0026#39;, \u0026#39;buildResults\u0026#39;: {\u0026#39;values\u0026#39;: {}}}, \u0026#39;time\u0026#39;: \u0026#39;2021-09-02T17:59:24.116Z\u0026#39;} 6. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;s1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T18:00:13.680Z\u0026#34;}% Tag creation and assignment can be done in separate workspaces.\nCreate and assign interface tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;testIntfTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test interface tag resource APIv2\u0026#34;}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;displayName\u0026#34;:\u0026#34;testIntfTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test interface tag resource APIv2\u0026#34;},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T00:42:58.736Z\u0026#34;}% 2. Create the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;testIntfTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;uplink}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T00:44:18.369201627Z\u0026#34;}% 3. Assign the tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;testIntfTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;uplink\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;, \u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet1\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; 4. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;b1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T01:36:15.683Z\u0026#34;}% 5. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=testIntfTag\u0026amp;key.buildId=b1\u0026#39; Result:\n{\u0026#39;value\u0026#39;: {\u0026#39;key\u0026#39;: {\u0026#39;workspaceId\u0026#39;: \u0026#39;testIntfTag\u0026#39;, \u0026#39;buildId\u0026#39;: \u0026#39;b1\u0026#39;}, \u0026#39;state\u0026#39;: \u0026#39;BUILD_STATE_SUCCESS\u0026#39;, \u0026#39;buildResults\u0026#39;: {\u0026#39;values\u0026#39;: {}}}, \u0026#39;time\u0026#39;: \u0026#39;2021-09-03T01:36:24.116Z\u0026#39;} 6. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Result:\n{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;testIntfTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;requestParams\u0026#34;:{\u0026#34;requestId\u0026#34;:\u0026#34;s1\u0026#34;}},\u0026#34;time\u0026#34;:\u0026#34;2021-09-02T18:00:13.680Z\u0026#34;}% Tag creation and assignment can be done in separate workspaces.\nUnassign a device or interface tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;deleteTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test interface tag deletion resource APIv2\u0026#34;}\u0026#39; 2.2. Unassign an interface tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;uplink\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;, \u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet1\u0026#34;},\u0026#34;remove\u0026#34;: true}\u0026#39; 2.2. Unassign a device tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;location\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;Dublin\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;},\u0026#34;remove\u0026#34;: true}\u0026#39; 3. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; 4. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=deleteTag\u0026amp;key.buildId=b1\u0026#39; 5. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Remove an existing device/interface tag curl 1. Create workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;deleteTag\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Test tag deletion\u0026#34;}\u0026#39; 2.1. Delete an interface tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;downlink\u0026#34;}, \u0026#34;remove\u0026#34;: true}\u0026#39; 2.2. Delete a device tag\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;deleteTag\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;location\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;Dublin\u0026#34;}, \u0026#34;remove\u0026#34;: true}\u0026#39; 3. Start the build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; 4. Verify the build status\ncurl -sS -kX GET --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceBuild?key.workspaceId=deleteTag\u0026amp;key.buildId=b1\u0026#39; 5. Submit the workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;deleteTag\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Show all tags edits in a workspace curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;test1337\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;test1337\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;servers\u0026#34;},\u0026#34;remove\u0026#34;:false},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T22:21:08.546104408Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Show all tag assignment edits in a workspace curl curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig/all\u0026#39; -d \u0026#39;{\u0026#34;partialEqFilter\u0026#34;: [{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;test1337\u0026#34;}}]}\u0026#39; Result:\n{\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;test1337\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;,\u0026#34;deviceId\u0026#34;:\u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;,\u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet1\u0026#34;},\u0026#34;remove\u0026#34;:false},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T21:50:06.187034368Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} {\u0026#34;result\u0026#34;:{\u0026#34;value\u0026#34;:{\u0026#34;key\u0026#34;:{\u0026#34;workspaceId\u0026#34;:\u0026#34;test1337\u0026#34;,\u0026#34;elementType\u0026#34;:\u0026#34;ELEMENT_TYPE_INTERFACE\u0026#34;,\u0026#34;label\u0026#34;:\u0026#34;intfType\u0026#34;,\u0026#34;value\u0026#34;:\u0026#34;uplink\u0026#34;,\u0026#34;deviceId\u0026#34;:\u0026#34;4B0C688DBE67D1AC9572445DCDB552F9\u0026#34;,\u0026#34;interfaceId\u0026#34;:\u0026#34;Ethernet2\u0026#34;},\u0026#34;remove\u0026#34;:false},\u0026#34;time\u0026#34;:\u0026#34;2021-09-03T21:50:06.315113790Z\u0026#34;,\u0026#34;type\u0026#34;:\u0026#34;INITIAL\u0026#34;}} Leaf-spine topology tagging example 1. Create Workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;AVD-lab\u0026#34;},\u0026#34;display_name\u0026#34;:\u0026#34;AVD-lab\u0026#34;,\u0026#34;description\u0026#34;:\u0026#34;Set up topology tags\u0026#34;}\u0026#39; 2. Create tags\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-pod1\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-dc1\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-leafs1\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-leafs2\u0026#34;}}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;element_type\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;:\u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;:\u0026#34;avd-spines\u0026#34;}}\u0026#39; 3. Assign tags\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_datacenter\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-dc1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_pod\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-pod1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs1\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs2\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-leafs2\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-spines\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_rack\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;avd-spines\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;BAD032986065E8DC14CBB6472EC314A6\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;0123F2E4462997EB155B7C50EC148767\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;8520AF39790A4EC959550166DC5DEADE\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;leaf\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;6323DA7D2B542B5D09630F87351BEA41\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;spine\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;CD0EADBEEA126915EA78E0FB4DC776CA\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; curl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/tag/v2/TagAssignmentConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;: {\u0026#34;workspaceId\u0026#34;: \u0026#34;AVD-lab\u0026#34;, \u0026#34;elementType\u0026#34;: \u0026#34;ELEMENT_TYPE_DEVICE\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;topology_hint_type\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;spine\u0026#34;, \u0026#34;deviceId\u0026#34;: \u0026#34;2568DB4A33177968A78C4FD5A8232159\u0026#34;},\u0026#34;remove\u0026#34;: false}\u0026#39; 4. Start Build\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;AVD-lab\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_START_BUILD\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;b1\u0026#34;}}\u0026#39; 5. Submit workspace\ncurl -sS -kX POST --header \u0026#39;Accept: application/json\u0026#39; -b access_token=`cat token.tok` \u0026#39;https://192.0.2.100/api/resources/workspace/v1/WorkspaceConfig\u0026#39; -d \u0026#39;{\u0026#34;key\u0026#34;:{\u0026#34;workspace_id\u0026#34;:\u0026#34;AVD-lab\u0026#34;},\u0026#34;request\u0026#34;:\u0026#34;REQUEST_SUBMIT\u0026#34;,\u0026#34;request_params\u0026#34;:{\u0026#34;request_id\u0026#34;:\u0026#34;s1\u0026#34;}}\u0026#39; Result:\n"},{"uri":"https://aristanetworks.github.io/cloudvision-apis/","title":"","tags":[],"description":"","content":"CloudVision APIs Cloudvision APIs are state based, resource-oriented APIs modeled in Protobuf and accessed over gRPC using a standardized set of RPC verbs.\nCloudVision is a powerful platform that processes and stores tremendous amounts of network data. It knows the topology of the network, device configuration, interface activity and other network events. These APIs allow access to fleet-wide data access and control, forming a management-plane with consistent usage.\nData Driven Functionality is defined in a data-oriented (rather than action-oriented) form. Designing the APIs to use state-synchronization confers some desirable traits:\nFor more information on modelling, see the Modeling page.\nUniform APIs Adding a new API simply means creating a new model. Once a model is made, a set of consistent API verbs can then be generated for it. These verbs are named and behave the same across all models. For clients this makes it near trivial to adapt usage of one API to another.\nErgonomic Asynchronous APIs Synchronous APIs, while simple, have some classic problems. Take for example a DoReboot operation. This operation has numerous failure modes:\nRequest Timeouts: perhaps the operation took longer than the client expected Network Interruption: similar to (1), but it\u0026rsquo;s entirely possible for a connection to break Device Bootlooping: perhaps rebooting is constantly failing. You must wait for a timeout to see that error. Service Interruption: perhaps the reboot service (or host machine) has unrelated issues during the request In each of these cases, the client is now responsible of determining which failure mode occurred and how to proceed.\nIn a state-sharing paradigm a reboot request might be performed by setting a reboot request attribute to the current time. The service can return from this request almost immediately (only durably writing the request). Then the client can subscribe to a last-reboot attribute and knows the device has been rebooted successfully when that attribute’s timestamp exceeds that of the reboot request. State sharing allows the various components involved in an action not to need to care about each other; they just need to synchronize state when they come up, and then they’ll do the right thing.\nPortable By modelling in protobuf and exposing gRPC RPCs, this data and management is accessible from nearly any environment in nearly any language.\nFor Arista-supported clients, see the Existing Clients page. Alternatively, a basic guide on creating your own.\nIn addition to pure-gRPC clients, HTTP REST mappings are easily generated through the great gRPC ecosystem. Thus, APIs can be utilized from nearly anywhere.\ngRPC Ecosystem Another benefit of using protobuf and gRPC is the vast ecosystem surrounding them. While portable client-generation is useful a well-supported ecosystem provides even more tooling.\nThis list is not extensive, nor an endorsement of any project. Many more tools can be found on the awesome-grpc page.\nGUIs BloomRPC Milkman CLI Tools GRPCurl evans Talks and Tutorials gRPC Overview: Talk at Slack by Varun Talwar gRPC: Google\u0026rsquo;s high-performance, open-source RPC framework by Sameer Ajmani gRPC: The Story of Microservices at Square \u0026hellip; and many more! "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/alert.v1/","title":"alert.v1","tags":[],"description":"","content":" arista/alert.v1/alert.proto\nAlert\nAlertConfig\nAzureOAuth\nBroadcastGroup\nBroadcastGroups\nBroadcastGroups.ValuesEntry\nConfigError\nConfigErrors\nCueData\nCueData.ValuesEntry\nCueSNMPAuth\nCueSNMPEndpoint\nCueSNMPSettings\nCueSendgridEndpoint\nCueSendgridEndpoints\nCueSendgridSettings\nCueSnmpEndpoints\nCueSyslogEndpoint\nCueSyslogEndpoints\nCueSyslogSettings\nDefaultTemplate\nEmailEndpoint\nEmailEndpoints\nEmailSettings\nEndpointError\nEndpointErrors\nEventList\nGoogleChatEndpoint\nGoogleChatEndpoints\nGoogleChatSettings\nHeaderValues\nHttpHeaders\nHttpHeaders.ValuesEntry\nHttpSettings\nInhibitionSettings\nInhibitionSettings.ValuesEntry\nMatches\nMsTeamsEndpoint\nMsTeamsEndpoints\nMsTeamsSettings\nOpsgenieEndpoint\nOpsgenieEndpoints\nOpsgenieSettings\nPagerdutyEndpoint\nPagerdutyEndpoints\nPagerdutySettings\nPriorities\nPushoverEndpoint\nPushoverEndpoints\nRule\nRules\nSNMPAuth\nSNMPEndpoint\nSNMPEndpoints\nSNMPSettings\nSendgridEndpoint\nSendgridEndpoints\nSendgridSettings\nSettings\nSlackEndpoint\nSlackEndpoints\nSlackSettings\nSyslogEndpoint\nSyslogEndpoints\nSyslogSettings\nTemplateConfig\nTemplateKey\nVictorOpsEndpoint\nVictorOpsEndpoints\nVictoropsSettings\nWebhookEndpoint\nWebhookEndpoints\nWebhookSettings\nZoomEndpoint\nZoomEndpoints\nZoomSettings\nConfigErrorType\nCueSNMPAuthProtocol\nCueSNMPPrivProtocol\nCueSyslogMessageFormat\nEndpointErrorType\nSNMPAuthProtocol\nSNMPPrivProtocol\nSNMPSecurityLevel\nTemplateOutput\nTemplateType\narista/alert.v1/services.gen.proto\nAlertConfigRequest\nAlertConfigResponse\nAlertConfigSetRequest\nAlertConfigSetResponse\nAlertConfigStreamRequest\nAlertConfigStreamResponse\nAlertRequest\nAlertResponse\nAlertStreamRequest\nAlertStreamResponse\nDefaultTemplateBatchedStreamRequest\nDefaultTemplateBatchedStreamResponse\nDefaultTemplateRequest\nDefaultTemplateResponse\nDefaultTemplateSomeRequest\nDefaultTemplateSomeResponse\nDefaultTemplateStreamRequest\nDefaultTemplateStreamResponse\nMetaResponse\nTemplateConfigBatchedStreamRequest\nTemplateConfigBatchedStreamResponse\nTemplateConfigDeleteAllRequest\nTemplateConfigDeleteAllResponse\nTemplateConfigDeleteRequest\nTemplateConfigDeleteResponse\nTemplateConfigDeleteSomeRequest\nTemplateConfigDeleteSomeResponse\nTemplateConfigRequest\nTemplateConfigResponse\nTemplateConfigSetRequest\nTemplateConfigSetResponse\nTemplateConfigSetSomeRequest\nTemplateConfigSetSomeResponse\nTemplateConfigSomeRequest\nTemplateConfigSomeResponse\nTemplateConfigStreamRequest\nTemplateConfigStreamResponse\nAlertConfigService\nAlertService\nDefaultTemplateService\nTemplateConfigService\nTop\narista/alert.v1/alert.proto Alert Alert is the current status of the alert system\nField Name Type Description configuration_errors ConfigErrors configuration_errors contain any configuration errors reported by the backend\nendpoint_errors EndpointErrors endpoint_errors contain any failed attempts to send alerts\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the configuration was last modified\nlast_modified_by google.protobuf.StringValue last_modified_by is the user who last modified the configuration\nAlertConfig AlertConfig is the configuration for sending alerts\nField Name Type Description settings Settings settings is the global default settings for various endpoints used in broadcast groups.\nCan be overwritten in individual endpoint settings\nrules Rules rules define how we route alerts to broadcast groups\nbroadcast_groups BroadcastGroups broadcast_groups are groups of endpoints that alerts are sent to\nAzureOAuth AzureOAuth contains the settings for the sending of emails on Azure smtp server\nField Name Type Description client_id google.protobuf.StringValue client_id of the Azure environment\ntenant_id google.protobuf.StringValue tenant_id of the Azure environment\nclient_secret google.protobuf.StringValue client_secret is a user generated secret key used for auth\nauth_uri google.protobuf.StringValue auth_uri is the URI used for OAuth\nthis should always be https://login.microsoftonline.com/ unless using a very custom\nset up, where the Azure enviroment is not running on microsoft servers\nscopes fmp.RepeatedString scopes are the scopes that auth is granted for\nBroadcastGroup BroadcastGroup is a series of endpoints that alerts are sent to if routed there by a rule No restriction on the number of types of endpoints that can be defined\nField Name Type Description email EmailEndpoints email is a set of email endpoints to send alerts to as part of this group\nwebhook WebhookEndpoints webhook is a set of webhook endpoints to send alerts to as part of this group\nslack SlackEndpoints slack is a set of slack endpoints to send alerts to as part of this group\nopsgenie OpsgenieEndpoints opsgenie is a set of opsgenie endpoints to send alerts to as part of this group\npushover PushoverEndpoints pushover is a set of pushover endpoints to send alerts to as part of this group\npagerduty PagerdutyEndpoints pagerduty is a set of pagerduty endpoints to send alerts to as part of this group\nvictorops VictorOpsEndpoints victorops is a set of victorops endpoints to send alerts to as part of this group\ngchat GoogleChatEndpoints gchat is a set of google chat endpoints to send alerts to as part of this group\nmsteams MsTeamsEndpoints msteams is a set of MS teams endpoints to send alerts to as part of this group\nsendgrid SendgridEndpoints sendgrid is a set of sendgrid endpoints to send alerts to as part of this group\nsyslog SyslogEndpoints syslog is a set of syslog endpoints to send alerts to as part of this group\nsnmp SNMPEndpoints snmp is a set of snmp endpoints to send alerts to as part of this group\ncue_syslog CueSyslogEndpoints cue_syslog is a set of cue syslog endpoints to send alerts to as part of this group\ncue_snmp CueSnmpEndpoints cue_snmp is a set of cue snmp endpoints to send alerts to as part of this group\ncue_sendgrid CueSendgridEndpoints cue_sendgrid is a set of cue sendgrid endpoints to send alerts to as part of this group\nzoom ZoomEndpoints zoom is a set of zoom endpoints to send alerts to as part of this group\nBroadcastGroups BroadcastGroups is a collection of named broadcast groups\nField Name Type Description values BroadcastGroups.ValuesEntry[\u0026hellip;] values is a map of user defined ids to broadcast groups. No restrictions to naming applies\nBroadcastGroups.ValuesEntry Field Name Type Description key string value BroadcastGroup ConfigError ConfigError is an error caused by an invalid config being rejected by the backend\nField Name Type Description path google.protobuf.StringValue path is the \u0026lsquo;path\u0026rsquo; to the invalid config element,\neg: path.userPathName.email_configs[1].to =\nthe \u0026rsquo;to\u0026rsquo; field of the second email config of the \u0026lsquo;userPathName\u0026rsquo; broadcast_group\nerror_type ConfigErrorType error_type is the type of error, this allows custom handling of different error types\nerror google.protobuf.StringValue error is a user-friendly error message\nConfigErrors ConfigErrors is a list of configuration-related errors\nField Name Type Description values ConfigError[\u0026hellip;] values is a list of errors\nCueData CueData contains additional cue-specific data\nField Name Type Description values CueData.ValuesEntry[\u0026hellip;] values can contain some additional data which is required by the cue specific provider\nCueData.ValuesEntry Field Name Type Description key string value string CueSNMPAuth CueSNMPAuth is the authentication\nField Name Type Description community google.protobuf.StringValue community is the community string used for authentication in SNMPv1 and v2c\nrequired if version \u0026lt; 3\nusername google.protobuf.StringValue username the username for SNMPv3 auth\nsecurity_level SNMPSecurityLevel security_level the security level for SNMPv3\nauthentication_protocol CueSNMPAuthProtocol authentication_protocol is the protocol to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nauthentication_passphrase google.protobuf.StringValue authentication_passphrase is the passphrase to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nprivacy_protocol CueSNMPPrivProtocol privacy_protocol is the protocol to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nprivacy_passphrase google.protobuf.StringValue privacy_passphrase is the passphrase to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nCueSNMPEndpoint CueSNMPEndpoint contains the required information for an alert to be sent to a cue SNMP endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override CueSNMPSettings settings_override is the override for the cue snmp global endpoint settings\nCueSNMPSettings CueSNMPSettings contain the settings for sending cue alerts with SNMP\nField Name Type Description target google.protobuf.StringValue target is an ipv4 address to send messages to\nport google.protobuf.Int32Value port is the network port to target\ntransport google.protobuf.StringValue transport is the transport protocol to use (\u0026ldquo;udp\u0026rdquo; or \u0026ldquo;tcp\u0026rdquo;); if unset \u0026ldquo;udp\u0026rdquo; will be used\nversion google.protobuf.Int32Value version is the SNMP version, v2c and v3 are supported and can be set with 2 and 3 respectively\nauth CueSNMPAuth auth is the optional authentication settings\ndata CueData data is additional data that maybe required for constructing the message or sending it\nCueSendgridEndpoint CueSendgridEndpoint contains the required information for an alert to be sent to a cue sendgrid endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nto google.protobuf.StringValue to address to send email to\nhttp_override HttpSettings http_override is the override of the global http settings\nThis overrides the value used in Settings message in the global alert config\nCueSendgridEndpoints CueSendgridEndpoints is a set of cue sendgrid endpoints\nField Name Type Description values CueSendgridEndpoint[\u0026hellip;] values are the elements of the set\nCueSendgridSettings CueSendgridSettings contain the settings for sending cue alerts to sendgrid\nField Name Type Description api_key google.protobuf.StringValue api_key is the key used to connect to the sendgrid APIs\nfrom google.protobuf.StringValue from is the sender\u0026rsquo;s address in the email sent\nCueSnmpEndpoints CueSnmpEndpoints is a set of cue SNMP endpoints\nField Name Type Description values CueSNMPEndpoint[\u0026hellip;] values are the elements of the set\nCueSyslogEndpoint CueSyslogEndpoint contains the required information for an alert to be sent to a cue syslog endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override CueSyslogSettings settings_override is the override for the cue syslog global endpoint settings\nCueSyslogEndpoints CueSyslogEndpoints is a set of cue syslog endpoints\nField Name Type Description values CueSyslogEndpoint[\u0026hellip;] values are the elements of the set\nCueSyslogSettings CueSyslogSettings contain the settings for sending alerts with syslog for cue\nField Name Type Description network google.protobuf.StringValue network is the network protocol to use, default is \u0026ldquo;udp\u0026rdquo;,\noptions also include: tcp,tcp4,tcp6,udp4,udp6\naddress google.protobuf.StringValue address is the ip address to send syslog messages to\nport google.protobuf.Int32Value port is server\u0026rsquo;s port to connect to\nmessage_format CueSyslogMessageFormat message_format defines the message format to use\nappend_bom_header google.protobuf.BoolValue append_bom_header if true a BOM( Byte Order Mark ) will be appended to the outgoing message\nBOM will tell the server that is receiving the messages, that the format is UTF8.\ndata CueData data is additional data that maybe required for constructing the message or sending it\nDefaultTemplate DefaultTemplate is the system default template which is used when no user template has been set\nField Name Type Description key TemplateKey key identifies which template the configuration is for\ntemplate google.protobuf.StringValue template is the string template value to be used\nTemplates need to be compatible with their respective parsers\nMessage templates are read and parsed by https://golang.org/pkg/text/template/\nHtml templates are read and parsed by https://golang.org/pkg/html/template/\nTemplates must output valid JSON for certain templates\nTemplates must not fail for any valid input\nmulti_alert google.protobuf.BoolValue multi_alert is true if this template uses a multiple alert context and false if a single\nalert context is used.\ndescription google.protobuf.StringValue description is a description of the template.\nexternal_documentation google.protobuf.StringValue external_documentation is a url to any relevant external documentation, or \u0026quot;\u0026quot; if there is no\nrelevant documentation.\noutput_format TemplateOutput output_format is the expected output format of this template\nAny submitted template will be expected to output text with valid formatting for any input or\nmay fail validation.\ndisplay_name google.protobuf.StringValue display_name is the name that can be displayed to the user for this particular template type\nEmailEndpoint EmailEndpoint contains the required information for an alert to be sent to an email endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nto google.protobuf.StringValue to address to send email to\nEmail does not have a http override\nEmail does not have a settings override\nEmailEndpoints EmailEndpoints is a set of email endpoints\nField Name Type Description values EmailEndpoint[\u0026hellip;] values are the elements of the set\nEmailSettings EmailSettings contain the settings for the sending of emails\nField Name Type Description from google.protobuf.StringValue from is the email address to send from\nsmarthost google.protobuf.StringValue smarthost is the hostname and port of the SMTP server\nauth_username google.protobuf.StringValue auth_username the username to use when sending emails\nrequired for all auth methods\nauth_password google.protobuf.StringValue auth_password the password to use when sending emails\nrequire_tls google.protobuf.BoolValue require_tls always use TLS connections when sending emails\nsingle_alert_per_email google.protobuf.BoolValue single_alert_per_email configures the Alerter such that each alert generates a separate email\nnotification, the email will only have a single notification, the format will also be different\nazure_o_auth AzureOAuth azure_o_auth used for auth when using an Azure smtp server\nuses auth_username, scopes is not required as we use https://outlook.office365.com/.default\nEndpointError EndpointError is an error caused by a failure to send alert(s) for any reason\nField Name Type Description endpoint_type google.protobuf.StringValue endpoint_type indicates the type of endpoint which failed,\nor unknown if not endpoint-specific (eg: slack, opsgenie)\nbroadcast_group_name google.protobuf.StringValue broadcast_group_name is the name of the broadcast group which was being used,\nempty string if not group specific\nconfig_index google.protobuf.Int32Value config_index is the index of the config on the broadcast group or -1 if not applicable\neg: if there are two email config in one broadcast group, then the indices for each are 0 and 1\nnote that these are done per type, so only counting email/slack/\u0026hellip;\nerror_type EndpointErrorType error_type is the type of error, this allows custom handling of different error types\nerror google.protobuf.StringValue error is a user-friendly error message\nEndpointErrors EndpointErrors is a set of errors related to sending of alerts\nField Name Type Description values EndpointError[\u0026hellip;] values is the list of errors\nEventList EventList is a list of event types\nField Name Type Description event_types fmp.RepeatedString event_types contain the event types\nGoogleChatEndpoint GoogleChatEndpoint contains the required information for an alert to be sent to a google chat endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override GoogleChatSettings settings_override is the override for the google chat global endpoint settings\nGoogleChatEndpoints GoogleChatEndpoints is a set of googleChat endpoints\nField Name Type Description values GoogleChatEndpoint[\u0026hellip;] values are the elements of the set\nGoogleChatSettings GoogleChatSettings contain the settings for sending alerts to google chat\nField Name Type Description url google.protobuf.StringValue url is the url of the webhook to send alerts to\nHeaderValues HeaderValues is a set of values for this header\nField Name Type Description values string[\u0026hellip;] values is the header values\nHttpHeaders HttpHeaders is a set of http headers\nField Name Type Description values HttpHeaders.ValuesEntry[\u0026hellip;] values is a map of http header names to values\nHttpHeaders.ValuesEntry Field Name Type Description key string value HeaderValues HttpSettings HttpSettings are the settings to be used when sending various message over a http connection\nField Name Type Description username google.protobuf.StringValue username is the username to use when connecting to the http proxy\npassword google.protobuf.StringValue password is the password to use when connecting to the http proxy\nproxy_url google.protobuf.StringValue proxy_url is the url for the http proxy\ncustom_headers HttpHeaders custom_headers is custom http headers to be used along with the default headers\nInhibitionSettings InhibitionSettings allows certain event types to be suppressed while other event types are active\nField Name Type Description values InhibitionSettings.ValuesEntry[\u0026hellip;] values is a map where the keys are event type which when active will suppress any events with\nevent types in the related EventList\nInhibitionSettings.ValuesEntry Field Name Type Description key string value EventList Matches Matches is a set of restrictions that must be satisfied for a rule to be matched Empty fields are ignored for matching purposes. Condition contents are OR\u0026rsquo;d and then AND\u0026rsquo;d with the other criteria\nField Name Type Description severities fmp.RepeatedString severities is a list of severities to filter on,\nif an event does not have one of these severities, it will not match\nValid values are DEBUG, INFO, WARNING, ERROR and CRITICAL\ndevices fmp.RepeatedString devices is a list of device IDs to filter on,\nif an event does not belong to one of these devices, it will not match\nevent_types fmp.RepeatedString event_types is a list of event types to filter on,\nif an event does not have one of these event types, it will not match\ndevice_tags google.protobuf.StringValue device_tags is a string tag query that is used to match on the event\u0026rsquo;s device tags\nintf_tags google.protobuf.StringValue intf_tags is a string tag query that is used to match on the event\u0026rsquo;s interface tags\nrule_ids fmp.RepeatedString rule_ids is a list of rule IDs to filter on,\nif an event does not have one of these rule IDs, it will not match\nMsTeamsEndpoint MsTeamsEndpoint contains the required information for an alert to be sent to an ms teams endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override MsTeamsSettings settings_override is the override for the microsoft teams global endpoint settings\nMsTeamsEndpoints MsTeamsEndpoints is a set of ms teams endpoints\nField Name Type Description values MsTeamsEndpoint[\u0026hellip;] values are the elements of the set\nMsTeamsSettings MsTeamsSettings contain the settings for sending alerts to MS Teams\nField Name Type Description url google.protobuf.StringValue url is the url of the webhook to send alerts to\nOpsgenieEndpoint OpsgenieEndpoint contains the required information for an alert to be sent to an opsgenie endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override OpsgenieSettings settings_override is the override for the opsgenie global endpoint settings\nOpsgenieEndpoints OpsgenieEndpoints is a set of opsgenie endpoints\nField Name Type Description values OpsgenieEndpoint[\u0026hellip;] values are the elements of the set\nOpsgenieSettings OpsgenieSettings contain the settings for sending alerts to opsgenie\nField Name Type Description key google.protobuf.StringValue key is the API key to use when talking to the OpsGenie API\nurl google.protobuf.StringValue url is the url to use when sending alerts to opsgenie\nPagerdutyEndpoint PagerdutyEndpoint contains the required information for an alert to be sent to a pagerduty endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nrouting_key google.protobuf.StringValue routing_key is the routing key for sending pagerduty alerts\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override PagerdutySettings settings_override is the override for the pagerduty global endpoint settings\nPagerdutyEndpoints PagerdutyEndpoints is a set of pagerduty endpoints\nField Name Type Description values PagerdutyEndpoint[\u0026hellip;] values are the elements of the set\nPagerdutySettings PagerdutySettings contain the settings for sending alerts to pagerduty\nField Name Type Description url google.protobuf.StringValue url is the url to use when sending alerts to pagerduty\nPriorities Priorities is a mapping of CV event severities to syslog severities\nField Name Type Description critical google.protobuf.Int32Value critical priority, default = 2 (Critical)\nerror google.protobuf.Int32Value error priority, default = 3 (Error)\nwarn google.protobuf.Int32Value warn priority, default = 4 (Warning)\ninfo google.protobuf.Int32Value info priority, default = 6 (Informational)\nPushoverEndpoint PushoverEndpoint contains the required information for an alert to be sent to a pushover endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\ntoken google.protobuf.StringValue token is the user\u0026rsquo;s registered application\u0026rsquo;s API token, see https://pushover.net/apps\nuser_key google.protobuf.StringValue user_key is the user\u0026rsquo;s user key\nhttp_override HttpSettings http_override is the override of the global http settings\nPushover does not have a settings override\nPushoverEndpoints PushoverEndpoints is a set of pushover endpoints\nField Name Type Description values PushoverEndpoint[\u0026hellip;] values are the elements of the set\nRule Rule is a rule to send to a certain broadcast group\nField Name Type Description sends_to google.protobuf.StringValue sends_to is the name of the broadcast group top send matching alerts to\nmatch_criteria Matches match_criteria is the criteria that an alert must match to be sent to the broadcast group\ncontinue_checks google.protobuf.BoolValue continue_checks if true, causes alerts matching this rule\u0026rsquo;s criteria to continue\nchecking against other rules, allowing for additional matches. If false,\nalerts matching this rule will not proceed with checking\ncomment google.protobuf.StringValue comment is a comment to include that will be displayed in the alert\nsuppress_for google.protobuf.Duration suppress_for is a time duration that a rule will be debounced for after being called\nRules Rules is a list of rules which dictates which events generate alerts for which broadcast groups\nField Name Type Description values Rule[\u0026hellip;] values contains the rules\nSNMPAuth SNMPAuth contain authentication information for SNMP\nField Name Type Description community google.protobuf.StringValue community is the community string used for authentication in SNMPv1 and v2c\nrequired if version \u0026lt; 3\nusername google.protobuf.StringValue username the username for SNMPv3 auth\nsecurity_level SNMPSecurityLevel security_level the security level for SNMPv3\nauthentication_protocol SNMPAuthProtocol authentication_protocol is the protocol to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nauthentication_passphrase google.protobuf.StringValue authentication_passphrase is the passphrase to use for authentication in SNMPv3\nrequired for AUTH_NO_PRIV/AUTH_PRIV security levels\nprivacy_protocol SNMPPrivProtocol privacy_protocol is the protocol to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nprivacy_passphrase google.protobuf.StringValue privacy_passphrase is the passphrase to use for privacy in SNMPv3\nrequired for AUTH_PRIV security level\nSNMPEndpoint SNMPEndpoint contains the required information for an alert to be sent to an SNMP endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override SNMPSettings settings_override is the override for the microsoft teams global endpoint settings\nSNMPEndpoints SNMPEndpoints is a set of SNMP endpoints\nField Name Type Description values SNMPEndpoint[\u0026hellip;] values are the elements of the set\nSNMPSettings SNMPSettings contain the settings for sending alerts with SNMP\nField Name Type Description target google.protobuf.StringValue target is an ipv4 address to send messages to\nport google.protobuf.Int32Value port is the network port to target\ntransport google.protobuf.StringValue transport is the transport protocol to use (\u0026ldquo;udp\u0026rdquo; or \u0026ldquo;tcp\u0026rdquo;); if unset \u0026ldquo;udp\u0026rdquo; will be used\nversion google.protobuf.Int32Value version is the SNMP version, v1, v2c and v3 are supported and can be set\nwith 1, 2 and 3 respectively\nauth SNMPAuth auth is optional authentication settings\nengine_id google.protobuf.StringValue engine_id is the engine ID that will be used by the Alerter\nThis should be a hexadecimal string, colon separators between bytes will be accepted when\nwriting, but will be absent when reading\noptional: if excluded or left blank, this will be automatically generated\nSendgridEndpoint SendgridEndpoint contains the required information for an alert to be sent to a sendgrid endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nto google.protobuf.StringValue to address to send email to\nhttp_override HttpSettings http_override is the override of the global http settings\nSendgridEndpoints SendgridEndpoints is a set of sendgrid endpoints\nField Name Type Description values SendgridEndpoint[\u0026hellip;] values are the elements of the set\nSendgridSettings SendgridSettings contain the settings for sending emails via sendgrid\nField Name Type Description api_key google.protobuf.StringValue api_key is the api key to use\nfrom google.protobuf.StringValue from is the email address to send from\nSettings Settings portion of config, a list of default global settings used by broadcast groups\nField Name Type Description email EmailSettings email is the global default settings for email\nhttp HttpSettings http is the global default settings for http\nslack SlackSettings slack is the global default settings for slack\nvictorops VictoropsSettings victorops is the global default settings for victorops\npagerduty PagerdutySettings pagerduty is the global default settings for pagerduty\nopsgenie OpsgenieSettings opsgenie is the global default settings for opsgenie\ngchat GoogleChatSettings gchat is the global default settings for google chat\nmsteams MsTeamsSettings msteams is the global default settings for ms teams\ninhibition InhibitionSettings inhibition defines the inhibition rules for alerts, allowing events of certain types to be\nsuppressed while another event type is active\nbase_url google.protobuf.StringValue base_url is the root address of your CloudVision app. Used to generate links in notifications.\ntimezone google.protobuf.StringValue timezone is used for formatting event times in notifications. E.g. \u0026lsquo;UTC\u0026rsquo;, \u0026lsquo;US/Pacific\u0026rsquo;\nsyslog SyslogSettings syslog is the global default settings for syslog\nsnmp SNMPSettings snmp is the global default settings for snmp\nsendgrid SendgridSettings sendgrid is the global default settings for sendgrid\ncue_syslog CueSyslogSettings cue_syslog is the global default settings for cue syslog\ncue_snmp CueSNMPSettings cue_snmp is the global default settings for cue snmp\ncue_sendgrid CueSendgridSettings cue_sendgrid is the global default settings for cue sendgrid\nhide_tags google.protobuf.BoolValue hide_tags is used to by the alerting system to omit tags and other \u0026ldquo;superfluous\u0026rdquo;\nvalues from the notifications that are sent out by the system\nzoom ZoomSettings zoom is the global default settings for zoom\nwebhook WebhookSettings webhook is the auth settings for webhook\nSlackEndpoint SlackEndpoint contains the required information for an alert to be sent to a slack endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override SlackSettings settings_override is the override for the slack global endpoint settings\nSlackEndpoints SlackEndpoints is a set of slack endpoints\nField Name Type Description values SlackEndpoint[\u0026hellip;] values are the elements of the set\nSlackSettings SlackSettings contain the settings for sending alerts to slack\nField Name Type Description url google.protobuf.StringValue url is the url of the slack webhook to use\nSyslogEndpoint SyslogEndpoint contains the required information for an alert to be sent to a syslog endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nsettings_override SyslogSettings settings_override is the override for the microsoft teams global endpoint settings\nSyslogEndpoints SyslogEndpoints is a set of syslog endpoints\nField Name Type Description values SyslogEndpoint[\u0026hellip;] values are the elements of the set\nSyslogSettings SyslogSettings contain the settings for sending alerts with syslog\nField Name Type Description network google.protobuf.StringValue network is the network protocol to use, default is \u0026ldquo;udp\u0026rdquo;,\noptions also include: tcp,tcp4,tcp6,udp4,udp6\naddress google.protobuf.StringValue address is the network address to send syslog messages to\nfacility google.protobuf.Int32Value facility is the syslog facility 0-23 inc. This is the syslog facility as defined in RFC-3164\npriorities Priorities priorities describes how CVP severity maps to syslog priority\npriority is a number between 0-7 inc. as defined in RFC-3164\ntag google.protobuf.StringValue tag is the syslog TAG as described in RFC-3164, it is the prefix to all syslog messages\nper_device google.protobuf.BoolValue per_device allows message to optionally be sent per device,\nif an event concerns two devices the behaviour is changed based on this option:\ntrue: two messages are sent, one for each device\nfalse: a single message is sent\nuse_tls google.protobuf.BoolValue use_tls determines if the connection to the server should be secured with TLS\nTemplateConfig TemplateConfig represents a template configuration\nField Name Type Description key TemplateKey key identifies which template the configuration is for\ntemplate google.protobuf.StringValue template is the string template value to be used\nTemplates need to be compatible with their respective parsers\nMessage templates are read and parsed by https://golang.org/pkg/text/template/\nHtml templates are read and parsed by https://golang.org/pkg/html/template/\nTemplates must output valid JSON for certain templates\nTemplates must not fail for any valid input\nTemplateKey TemplateKey is used to identify templates for event notifications\nField Name Type Description template_type TemplateType template_type is the enum value to match with the template\nVictorOpsEndpoint VictorOpsEndpoint contains the required information for an alert to be sent to a victorOps endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nrouting_key google.protobuf.StringValue routing_key is the PagerDuty integration key\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override VictoropsSettings settings_override is the override for the victorops global endpoint settings\nVictorOpsEndpoints VictorOpsEndpoints is a set of victorOps endpoints\nField Name Type Description values VictorOpsEndpoint[\u0026hellip;] values are the elements of the set\nVictoropsSettings VictoropsSettings contain the settings for sending alerts to victorops\nField Name Type Description key google.protobuf.StringValue key is the API key to use when talking to the VictorOps API\nurl google.protobuf.StringValue url is the victorops url to use (without integration or routing key\ndefault: https://alert.victorops.com/integrations/generic/20131114/alert/\nWebhookEndpoint WebhookEndpoint contains the required information for an alert to be sent to a webhook endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nurl google.protobuf.StringValue url is the url\nhttp_override HttpSettings http_override is the override of the global http settings\nsimple_output google.protobuf.BoolValue simple_output is a boolean flag to control the JSON structure of the webhook body.\nWhen false the output mimics the old alertmanager format.\nWhen true the output is a simple array of json objects which each represent an event.\nsingle_alert google.protobuf.BoolValue single_alert is a boolean flag that will cause an individual webhook message to be sent per\nalert when true.\nsettings_override WebhookSettings settings_override is the override for the webhook global endpoint settings\nWebhookEndpoints WebhookEndpoints is a set of webhook endpoints\nField Name Type Description values WebhookEndpoint[\u0026hellip;] values are the elements of the set\nWebhookSettings WebhookSettings contain the settings for sending alerts to a Webhook\nField Name Type Description azure_o_auth AzureOAuth azure_o_auth used for auth when using an Azure smtp server\nuses auth_username\nZoomEndpoint ZoomEndpoint contains the required information for an alert to be sent to a zoom endpoint\nField Name Type Description send_resolved google.protobuf.BoolValue send_resolved send alerts when events are resolved along with when they are triggered\nhttp_override HttpSettings http_override is the override of the global http settings\nsettings_override ZoomSettings settings_override is the override for the zoom global endpoint settings\nZoomEndpoints ZoomEndpoints is a set of zoom endpoints\nField Name Type Description values ZoomEndpoint[\u0026hellip;] values are the elements of the set\nZoomSettings ZoomSettings contain the settings for sending alerts to zoom\nField Name Type Description url google.protobuf.StringValue url is the zoom incoming webhook URL to send messages to\nverification_token google.protobuf.StringValue verification_token is the verification token to authenticate with\nConfigErrorType ConfigErrorType describes the set of possible config error types\nName Number Description CONFIG_ERROR_TYPE_UNSPECIFIED 0 CONFIG_ERROR_TYPE_UNSPECIFIED is the unspecified enum value\nCONFIG_ERROR_TYPE_INVALID_FORMAT 2 CONFIG_ERROR_TYPE_INVALID_FORMAT is caused by invalid format for value (eg: url)\nCONFIG_ERROR_TYPE_INVALID_SYNTAX 3 CONFIG_ERROR_TYPE_INVALID_SYNTAX is caused by invalid syntax for value (eg: regex)\nCONFIG_ERROR_TYPE_TEMPLATE_INVALID 4 CONFIG_ERROR_TYPE_TEMPLATE_INVALID is caused by failure to parse a template\nCONFIG_ERROR_TYPE_ILLEGAL_VALUE 5 CONFIG_ERROR_TYPE_ILLEGAL_VALUE is caused by a value outside of its bounds\nCONFIG_ERROR_TYPE_MISSING_REQUIRED 6 CONFIG_ERROR_TYPE_MISSING_REQUIRED is caused by a missing required attribute\nCONFIG_ERROR_TYPE_INVALID_TYPE 7 CONFIG_ERROR_TYPE_INVALID_TYPE is caused by the wrong type found in backing store\nCueSNMPAuthProtocol CueSNMPAuthProtocol represents the authentication protocol to be used\nName Number Description CUE_SNMP_AUTH_PROTOCOL_UNSPECIFIED 0 CUE_SNMP_AUTH_PROTOCOL_UNSPECIFIED is the unspecified enum value\nCUE_SNMP_AUTH_PROTOCOL_MD5 1 CUE_SNMP_AUTH_PROTOCOL_MD5 use the md5 protocol\nCUE_SNMP_AUTH_PROTOCOL_SHA 2 CUE_SNMP_AUTH_PROTOCOL_SHA use the sha protocol\nCueSNMPPrivProtocol CueSNMPPrivProtocol represents the privacy protocol to be used\nName Number Description CUE_SNMP_PRIV_PROTOCOL_UNSPECIFIED 0 CUE_SNMP_PRIV_PROTOCOL_UNSPECIFIED is the unspecified enum value\nCUE_SNMP_PRIV_PROTOCOL_DES 1 CUE_SNMP_PRIV_PROTOCOL_DES use the des protocol\nCUE_SNMP_PRIV_PROTOCOL_AES 2 CUE_SNMP_PRIV_PROTOCOL_AES use the aes protocol\nCueSyslogMessageFormat CueSyslogMessageFormat is the message format for cue syslog messages\nName Number Description CUE_SYSLOG_MESSAGE_FORMAT_UNSPECIFIED 0 CUE_SYSLOG_MESSAGE_FORMAT_UNSPECIFIED is the unspecified enum value\nCUE_SYSLOG_MESSAGE_FORMAT_PLAIN 1 CUE_SYSLOG_MESSAGE_FORMAT_PLAIN format uses the text format for constructing the syslog message\nCUE_SYSLOG_MESSAGE_FORMAT_IDMEF 2 CUE_SYSLOG_MESSAGE_FORMAT_IDMEF uses IDMEF message format as described here:\nhttps://datatracker.ietf.org/doc/html/rfc4765\nEndpointErrorType EndpointErrorType describe the set of possible endpoint types\nName Number Description ENDPOINT_ERROR_TYPE_UNSPECIFIED 0 ENDPOINT_ERROR_TYPE_UNSPECIFIED is the unspecified enum value\nENDPOINT_ERROR_TYPE_HTTP_POST_ERROR 1 ENDPOINT_ERROR_TYPE_HTTP_POST_ERROR an error in sending HTTP request or reading a HTTP\nresponse\nENDPOINT_ERROR_TYPE_JSON_MARSHAL_ERROR 2 ENDPOINT_ERROR_TYPE_JSON_MARSHAL_ERROR is caused by errors while encoding json\nENDPOINT_ERROR_TYPE_INVALID_CONFIG_ERROR 3 ENDPOINT_ERROR_TYPE_INVALID_CONFIG_ERROR is an error caused by invalid config (missing,\nbad format, etc)\nENDPOINT_ERROR_TYPE_TEMPLATE_ERROR 4 ENDPOINT_ERROR_TYPE_TEMPLATE_ERROR is caused by errors while executing templates\nENDPOINT_ERROR_TYPE_BAD_RESPONSE_ERROR 5 ENDPOINT_ERROR_TYPE_BAD_RESPONSE_ERROR is caused by receiving a negative response from an\nendpoint indicating that the alert was not sent\nENDPOINT_ERROR_TYPE_SMTP_ERROR 6 ENDPOINT_ERROR_TYPE_SMTP_ERROR is caused by errors with SMTP\nENDPOINT_ERROR_TYPE_CONNECTION_ERROR 7 ENDPOINT_ERROR_TYPE_CONNECTION_ERROR is caused by errors with a connection\nENDPOINT_ERROR_TYPE_TIMEOUT_ERROR 8 ENDPOINT_ERROR_TYPE_TIMEOUT_ERROR is caused by errors with a connection\nENDPOINT_ERROR_TYPE_RATE_LIMIT_ERROR 9 ENDPOINT_ERROR_TYPE_RATE_LIMIT_ERROR is caused by an Alerter rate limit being exceeded\nENDPOINT_ERROR_TYPE_ALERT_CAP_ERROR 10 ENDPOINT_ERROR_TYPE_ALERT_CAP_ERROR is caused by the number of alerts sent to a sender\nexceeding the built-in limit\nENDPOINT_ERROR_TYPE_O_AUTH_ERROR 11 ENDPOINT_ERROR_TYPE_O_AUTH_ERROR is caused when we failed authenticating using the\nOAuth apis\nSNMPAuthProtocol SNMPAuthProtocol represents the authentication protocol to be used\nName Number Description SNMP_AUTH_PROTOCOL_UNSPECIFIED 0 SNMP_AUTH_PROTOCOL_UNSPECIFIED is the unspecified enum value\nSNMP_AUTH_PROTOCOL_MD5 1 SNMP_AUTH_PROTOCOL_MD5 use the md5 protocol\nSNMP_AUTH_PROTOCOL_SHA 2 SNMP_AUTH_PROTOCOL_SHA use the sha protocol\nSNMP_AUTH_PROTOCOL_SHA_224 3 SNMP_AUTH_PROTOCOL_SHA_224 use the sha224 protocol\nSNMP_AUTH_PROTOCOL_SHA_256 4 SNMP_AUTH_PROTOCOL_SHA_256 use the sha256 protocol\nSNMP_AUTH_PROTOCOL_SHA_384 5 SNMP_AUTH_PROTOCOL_SHA_384 use the sha384 protocol\nSNMP_AUTH_PROTOCOL_SHA_512 6 SNMP_AUTH_PROTOCOL_SHA_512 use the sha512 protocol\nSNMPPrivProtocol SNMPPrivProtocol represents the privacy protocol to be used\nName Number Description SNMP_PRIV_PROTOCOL_UNSPECIFIED 0 SNMP_PRIV_PROTOCOL_UNSPECIFIED is the unspecified enum value\nSNMP_PRIV_PROTOCOL_DES 1 SNMP_PRIV_PROTOCOL_DES use the des protocol\nSNMP_PRIV_PROTOCOL_AES 2 SNMP_PRIV_PROTOCOL_AES use the aes protocol\nSNMP_PRIV_PROTOCOL_AES_192 3 SNMP_PRIV_PROTOCOL_AES_192 use the aes192 protocol\nSNMP_PRIV_PROTOCOL_AES_256 4 SNMP_PRIV_PROTOCOL_AES_256 use the aes256 protocol\nSNMP_PRIV_PROTOCOL_AES_192C 5 SNMP_PRIV_PROTOCOL_AES_192C use the aes192c protocol\nSNMP_PRIV_PROTOCOL_AES_256C 6 SNMP_PRIV_PROTOCOL_AES_256C use the aes256c protocol\nSNMPSecurityLevel SNMPSecurityLevel indicates what level of security should be used\nName Number Description SNMP_SECURITY_LEVEL_UNSPECIFIED 0 SNMP_SECURITY_LEVEL_UNSPECIFIED is the unspecified enum value\nSNMP_SECURITY_LEVEL_NO_AUTH_NO_PRIV 1 SNMP_SECURITY_LEVEL_NO_AUTH_NO_PRIV use no security\nSNMP_SECURITY_LEVEL_AUTH_NO_PRIV 2 SNMP_SECURITY_LEVEL_AUTH_NO_PRIV use authentication without privacy\nSNMP_SECURITY_LEVEL_AUTH_PRIV 3 SNMP_SECURITY_LEVEL_AUTH_PRIV use both authentication and privacy\nTemplateOutput TemplateOutput is an enum of all of the possible output formats for templates\nName Number Description TEMPLATE_OUTPUT_UNSPECIFIED 0 TEMPLATE_OUTPUT_UNSPECIFIED is the unspecfied value.\nTEMPLATE_OUTPUT_TEXT 1 TEMPLATE_OUTPUT_TEXT indicates the the template outputs plain text.\nTEMPLATE_OUTPUT_JSON 2 TEMPLATE_OUTPUT_JSON indicates the the template outputs JSON.\nTEMPLATE_OUTPUT_HTML 3 TEMPLATE_OUTPUT_HTML indicates the the template outputs HTML.\nThis also indicates that \u0026ldquo;html/templates\u0026rdquo; will be used instead of \u0026ldquo;text/templates\u0026rdquo; so that\nhtml characters are automatically escaped from input.\nTemplateType TemplateType describes the types of Templates that are usable\nName Number Description TEMPLATE_TYPE_UNSPECIFIED 0 TEMPLATE_TYPE_UNSPECIFIED is the unspecified enum value\nTEMPLATE_TYPE_EMAIL_HTML 1 TEMPLATE_TYPE_EMAIL_HTML is the key of the html template for sent emails\nTEMPLATE_TYPE_EMAIL_TEXT 2 TEMPLATE_TYPE_EMAIL_TEXT is the key of the text template for sent emails\nTEMPLATE_TYPE_SLACK_MESSAGE 3 TEMPLATE_TYPE_SLACK_MESSAGE is the key of the message template for sent slack messages\nTEMPLATE_TYPE_PUSHOVER_MESSAGE 4 TEMPLATE_TYPE_PUSHOVER_MESSAGE is the key of the message template for sent pushover messages\nTEMPLATE_TYPE_PAGERDUTY_SUMMARY 5 TEMPLATE_TYPE_PAGERDUTY_SUMMARY is the key of the summary template for sent pagerduty messages\nTEMPLATE_TYPE_VICTOROPS_DISPLAY_NAME 6 TEMPLATE_TYPE_VICTOROPS_DISPLAY_NAME is the key of the display name template for sent victorops\nmessages\nTEMPLATE_TYPE_VICTOROPS_STATE_MESSAGE 7 TEMPLATE_TYPE_VICTOROPS_STATE_MESSAGE is the key of the state message template for sent\nvictorops messages\nTEMPLATE_TYPE_GOOGLE_CHAT_MESSAGE 8 TEMPLATE_TYPE_GOOGLE_CHAT_MESSAGE is the key of the message template for sent Google chat\nmessages\nTEMPLATE_TYPE_MICROSOFT_TEAMS_MESSAGE 9 TEMPLATE_TYPE_MICROSOFT_TEAMS_MESSAGE is the key of the message template for sent Microsoft\nteams messages\nTEMPLATE_TYPE_EMAIL_SUBJECT 10 TEMPLATE_TYPE_EMAIL_SUBJECT is the key of the subject line template of a sent email\nTEMPLATE_TYPE_SYSLOG_MESSAGE 11 TEMPLATE_TYPE_SYSLOG_MESSAGE is the key of the message template for a syslog message part\nTEMPLATE_TYPE_OPSGENIE_MESSAGE 12 TEMPLATE_TYPE_OPSGENIE_MESSAGE is the key of the message template for a opsgenie alert\nTEMPLATE_TYPE_ZOOM_MESSAGE 13 TEMPLATE_TYPE_ZOOM_MESSAGE is the key of the message template for sent Zoom messages\nTEMPLATE_TYPE_EMAIL_SINGLE_HTML 14 TEMPLATE_TYPE_EMAIL_SINGLE_HTML is the key of the html template for sent emails when the\nsingle alert per email option is selected\nTEMPLATE_TYPE_EMAIL_SINGLE_TEXT 15 TEMPLATE_TYPE_EMAIL_SINGLE_TEXT is the key of the text template for sent emails when the\nsingle alert per email option is selected\nTEMPLATE_TYPE_EMAIL_SINGLE_SUBJECT 16 TEMPLATE_TYPE_EMAIL_SINGLE_SUBJECT is the key of the subject line template of a sent email\nwhen the single alert per email option is selected\nTEMPLATE_TYPE_WEBHOOK_SINGLE 17 TEMPLATE_TYPE_WEBHOOK_SINGLE is the key of the template for webhook message body when the\nsingle_alert option is true\nTEMPLATE_TYPE_WEBHOOK_MULTIPLE 18 TEMPLATE_TYPE_WEBHOOK_MULTIPLE is the key of the template for webhook message body when the\nsingle_alert option is false\nTop\narista/alert.v1/services.gen.proto AlertConfigRequest Field Name Type Description time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAlertConfigResponse Field Name Type Description value AlertConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAlertConfig instance in this response.\nAlertConfigSetRequest Field Name Type Description value AlertConfig AlertConfig carries the value to set into the datastore.\nSee the documentation on the AlertConfig struct for which fields are required.\nAlertConfigSetResponse Field Name Type Description value AlertConfig Value carries all the values given in the AlertConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAlertConfigStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AlertConfig at end.\n* Each AlertConfig response is fully-specified (all fields set).\n* start: Returns the state of each AlertConfig at start, followed by updates until now.\n* Each AlertConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AlertConfig at start, followed by updates\nuntil end.\n* Each AlertConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAlertConfigStreamResponse Field Name Type Description value AlertConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AlertConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AlertConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAlertRequest Field Name Type Description time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAlertResponse Field Name Type Description value Alert Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAlert instance in this response.\nAlertStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Alert at end.\n* Each Alert response is fully-specified (all fields set).\n* start: Returns the state of each Alert at start, followed by updates until now.\n* Each Alert response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Alert at start, followed by updates\nuntil end.\n* Each Alert response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAlertStreamResponse Field Name Type Description value Alert Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Alert\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Alert value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDefaultTemplateBatchedStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DefaultTemplate at end.\n* Each DefaultTemplate response is fully-specified (all fields set).\n* start: Returns the state of each DefaultTemplate at start, followed by updates until now.\n* Each DefaultTemplate response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DefaultTemplate at start, followed by updates\nuntil end.\n* Each DefaultTemplate response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDefaultTemplateBatchedStreamResponse Field Name Type Description responses DefaultTemplateStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDefaultTemplateRequest Field Name Type Description key TemplateKey Key uniquely identifies a DefaultTemplate instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDefaultTemplateResponse Field Name Type Description value DefaultTemplate Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDefaultTemplate instance in this response.\nDefaultTemplateSomeRequest Field Name Type Description keys TemplateKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDefaultTemplateSomeResponse Field Name Type Description value DefaultTemplate Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DefaultTemplateStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DefaultTemplate at end.\n* Each DefaultTemplate response is fully-specified (all fields set).\n* start: Returns the state of each DefaultTemplate at start, followed by updates until now.\n* Each DefaultTemplate response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DefaultTemplate at start, followed by updates\nuntil end.\n* Each DefaultTemplate response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDefaultTemplateStreamResponse Field Name Type Description value DefaultTemplate Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DefaultTemplate\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DefaultTemplate value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nTemplateConfigBatchedStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TemplateConfig at end.\n* Each TemplateConfig response is fully-specified (all fields set).\n* start: Returns the state of each TemplateConfig at start, followed by updates until now.\n* Each TemplateConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TemplateConfig at start, followed by updates\nuntil end.\n* Each TemplateConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTemplateConfigBatchedStreamResponse Field Name Type Description responses TemplateConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTemplateConfigDeleteAllRequest TemplateConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TemplateKey This is the key of the TemplateConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTemplateConfigDeleteRequest Field Name Type Description key TemplateKey Key indicates which TemplateConfig instance to remove.\nThis field must always be set.\nTemplateConfigDeleteResponse Field Name Type Description key TemplateKey Key echoes back the key of the deleted TemplateConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTemplateConfigDeleteSomeRequest Field Name Type Description keys TemplateKey[\u0026hellip;] key contains a list of TemplateConfig keys to delete\nTemplateConfigDeleteSomeResponse TemplateConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TemplateKey error string TemplateConfigRequest Field Name Type Description key TemplateKey Key uniquely identifies a TemplateConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTemplateConfigResponse Field Name Type Description value TemplateConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTemplateConfig instance in this response.\nTemplateConfigSetRequest Field Name Type Description value TemplateConfig TemplateConfig carries the value to set into the datastore.\nSee the documentation on the TemplateConfig struct for which fields are required.\nTemplateConfigSetResponse Field Name Type Description value TemplateConfig Value carries all the values given in the TemplateConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTemplateConfigSetSomeRequest Field Name Type Description values TemplateConfig[\u0026hellip;] value contains a list of TemplateConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTemplateConfigSetSomeResponse Field Name Type Description key TemplateKey error string TemplateConfigSomeRequest Field Name Type Description keys TemplateKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTemplateConfigSomeResponse Field Name Type Description value TemplateConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TemplateConfigStreamRequest Field Name Type Description time arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TemplateConfig at end.\n* Each TemplateConfig response is fully-specified (all fields set).\n* start: Returns the state of each TemplateConfig at start, followed by updates until now.\n* Each TemplateConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TemplateConfig at start, followed by updates\nuntil end.\n* Each TemplateConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTemplateConfigStreamResponse Field Name Type Description value TemplateConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TemplateConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TemplateConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAlertConfigService Method Name Request Type Response Type Description GetOne AlertConfigRequest AlertConfigResponse GetAll AlertConfigStreamRequest AlertConfigStreamResponse stream Subscribe AlertConfigStreamRequest AlertConfigStreamResponse stream SubscribeMeta AlertConfigStreamRequest MetaResponse stream Set AlertConfigSetRequest AlertConfigSetResponse AlertService Method Name Request Type Response Type Description GetOne AlertRequest AlertResponse GetAll AlertStreamRequest AlertStreamResponse stream Subscribe AlertStreamRequest AlertStreamResponse stream SubscribeMeta AlertStreamRequest MetaResponse stream DefaultTemplateService Method Name Request Type Response Type Description GetOne DefaultTemplateRequest DefaultTemplateResponse GetSome DefaultTemplateSomeRequest DefaultTemplateSomeResponse stream GetAll DefaultTemplateStreamRequest DefaultTemplateStreamResponse stream Subscribe DefaultTemplateStreamRequest DefaultTemplateStreamResponse stream GetMeta DefaultTemplateStreamRequest MetaResponse SubscribeMeta DefaultTemplateStreamRequest MetaResponse stream GetAllBatched DefaultTemplateBatchedStreamRequest DefaultTemplateBatchedStreamResponse stream SubscribeBatched DefaultTemplateBatchedStreamRequest DefaultTemplateBatchedStreamResponse stream TemplateConfigService Method Name Request Type Response Type Description GetOne TemplateConfigRequest TemplateConfigResponse GetSome TemplateConfigSomeRequest TemplateConfigSomeResponse stream GetAll TemplateConfigStreamRequest TemplateConfigStreamResponse stream Subscribe TemplateConfigStreamRequest TemplateConfigStreamResponse stream GetMeta TemplateConfigStreamRequest MetaResponse SubscribeMeta TemplateConfigStreamRequest MetaResponse stream Set TemplateConfigSetRequest TemplateConfigSetResponse SetSome TemplateConfigSetSomeRequest TemplateConfigSetSomeResponse stream Delete TemplateConfigDeleteRequest TemplateConfigDeleteResponse DeleteSome TemplateConfigDeleteSomeRequest TemplateConfigDeleteSomeResponse stream DeleteAll TemplateConfigDeleteAllRequest TemplateConfigDeleteAllResponse stream GetAllBatched TemplateConfigBatchedStreamRequest TemplateConfigBatchedStreamResponse stream SubscribeBatched TemplateConfigBatchedStreamRequest TemplateConfigBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/bugexposure.v1/","title":"bugexposure.v1","tags":[],"description":"","content":" arista/bugexposure.v1/bugexposure.proto\nBugExposure\nBugExposureKey\nAcknowledgement\nHighestExposure\narista/bugexposure.v1/services.gen.proto\nBugExposureRequest\nBugExposureResponse\nBugExposureStreamRequest\nBugExposureStreamResponse\nMetaResponse\nBugExposureService\nTop\narista/bugexposure.v1/bugexposure.proto BugExposure BugExposure is the state model that represents the exposure a device has to bugs\nField Name Type Description key BugExposureKey BugExposureKey is the key of\nBugExposure\nbug_ids fmp.RepeatedInt32 bug_ids is a list of bug alerts affecting the device\nwith type Bug\ncve_ids fmp.RepeatedInt32 cve_ids is a list of bug alerts affecting the device\nwith type CVE\nbug_count google.protobuf.Int32Value bug_count is the number of bug alerts\nwith type Bug\ncve_count google.protobuf.Int32Value cve_count is the number of bug alerts\nwith type CVE\nhighest_bug_exposure HighestExposure highest_bug_exposure is the highest exposure\nwith type Bug\nhighest_cve_exposure HighestExposure highest_cve_exposure is the highest exposure\nwith type CVE\nBugExposureKey BugExposureKey is the key type for BugExposure model\nField Name Type Description device_id google.protobuf.StringValue device_id is the device ID\nacknowledgement Acknowledgement acknowledgement is one of the options for\nAcknowledgement enum\nAcknowledgement Acknowledgement is an enumeration key for a BugExposure model that defines the acknowledgement state for the computed bugs\nName Number Description ACKNOWLEDGEMENT_UNSPECIFIED 0 Unacknowledged and acknowledged bugs will be computed\nACKNOWLEDGEMENT_UNACKNOWLEDGED 1 Only unacknowledged bugs will be computed\nACKNOWLEDGEMENT_ACKNOWLEDGED 2 Only acknowledged bugs will be computed\nHighestExposure HighestExposure is an enumeration that defines the options for highest exposure\nName Number Description HIGHEST_EXPOSURE_UNSPECIFIED 0 If not given this will be the default value\nand it will compute devices with\nany highest exposure\nHIGHEST_EXPOSURE_NONE 1 Not exposed to bugs\nHIGHEST_EXPOSURE_LOW 2 Highest exposure is to a low priority bug\nHIGHEST_EXPOSURE_HIGH 3 Highest exposure is to a high priority bug\nTop\narista/bugexposure.v1/services.gen.proto BugExposureRequest Field Name Type Description key BugExposureKey Key uniquely identifies a BugExposure instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nBugExposureResponse Field Name Type Description value BugExposure Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nBugExposure instance in this response.\nBugExposureStreamRequest Field Name Type Description partial_eq_filter BugExposure[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each BugExposure at end.\n* Each BugExposure response is fully-specified (all fields set).\n* start: Returns the state of each BugExposure at start, followed by updates until now.\n* Each BugExposure response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each BugExposure at start, followed by updates\nuntil end.\n* Each BugExposure response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nBugExposureStreamResponse Field Name Type Description value BugExposure Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this BugExposure\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the BugExposure value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nBugExposureService Method Name Request Type Response Type Description GetOne BugExposureRequest BugExposureResponse GetAll BugExposureStreamRequest BugExposureStreamResponse stream Subscribe BugExposureStreamRequest BugExposureStreamResponse stream GetMeta BugExposureStreamRequest MetaResponse SubscribeMeta BugExposureStreamRequest MetaResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/categories/","title":"Categories","tags":[],"description":"","content":""},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/changecontrol.v1/","title":"changecontrol.v1","tags":[],"description":"","content":" arista/changecontrol.v1/changecontrol.proto\nAction\nApproveConfig\nChange\nChangeConfig\nChangeControl\nChangeControlConfig\nChangeControlKey\nFilter\nFlag\nFlagConfig\nRepeatedRepeatedString\nStage\nStageConfig\nStageConfigMap\nStageConfigMap.ValuesEntry\nStageMap\nStageMap.ValuesEntry\nTimestampFlag\nTimestampFlagConfig\nChangeControlStatus\nStageStatus\narista/changecontrol.v1/services.gen.proto\nApproveConfigBatchedStreamRequest\nApproveConfigBatchedStreamResponse\nApproveConfigDeleteAllRequest\nApproveConfigDeleteAllResponse\nApproveConfigDeleteRequest\nApproveConfigDeleteResponse\nApproveConfigDeleteSomeRequest\nApproveConfigDeleteSomeResponse\nApproveConfigRequest\nApproveConfigResponse\nApproveConfigSetRequest\nApproveConfigSetResponse\nApproveConfigSetSomeRequest\nApproveConfigSetSomeResponse\nApproveConfigSomeRequest\nApproveConfigSomeResponse\nApproveConfigStreamRequest\nApproveConfigStreamResponse\nChangeControlBatchedStreamRequest\nChangeControlBatchedStreamResponse\nChangeControlConfigBatchedStreamRequest\nChangeControlConfigBatchedStreamResponse\nChangeControlConfigDeleteAllRequest\nChangeControlConfigDeleteAllResponse\nChangeControlConfigDeleteRequest\nChangeControlConfigDeleteResponse\nChangeControlConfigDeleteSomeRequest\nChangeControlConfigDeleteSomeResponse\nChangeControlConfigRequest\nChangeControlConfigResponse\nChangeControlConfigSetRequest\nChangeControlConfigSetResponse\nChangeControlConfigSetSomeRequest\nChangeControlConfigSetSomeResponse\nChangeControlConfigSomeRequest\nChangeControlConfigSomeResponse\nChangeControlConfigStreamRequest\nChangeControlConfigStreamResponse\nChangeControlRequest\nChangeControlResponse\nChangeControlSomeRequest\nChangeControlSomeResponse\nChangeControlStreamRequest\nChangeControlStreamResponse\nMetaResponse\nApproveConfigService\nChangeControlConfigService\nChangeControlService\nTop\narista/changecontrol.v1/changecontrol.proto Action Action is an action to perform during the execution of a stage of a change control. Available actions can be fetched using the \u0026ldquo;action\u0026rdquo; services.\nField Name Type Description name google.protobuf.StringValue name is the name of the action.\ntimeout google.protobuf.UInt32Value timeout is the maximum duration in seconds that\nthe action can execute before timing out. If this\nis not set, then this is interpreted to mean there\nis no timeout.\nargs fmp.MapStringString args are the arguments of the action.\nApproveConfig ApproveConfig is used to configure the approval of a change control.\nField Name Type Description key ChangeControlKey key uniquely identifies the change control.\napprove FlagConfig approve is the flag to approve (approve.value set to true)\nor unapprove (approve.value set to false) the change control.\nversion google.protobuf.Timestamp version is the timestamp of the change control to approve.\nThis field must be set when approve.value is set to true\nand is intended to safeguard against approving a change control\nthat has been updated since last read.\nChange Change holds the configuration and status of the change of a change control.\nField Name Type Description name google.protobuf.StringValue name is the name of the change.\nroot_stage_id google.protobuf.StringValue root_stage_id is the ID of the root stage or the stage that\nshould execute first.\nstages StageMap stages holds a configuration of stages and their statuses.\nnotes google.protobuf.StringValue notes are any notes associated with the change.\ntime google.protobuf.Timestamp time is the time at which the change was last updated.\nuser google.protobuf.StringValue user is the user by which the change was last updated.\nChangeConfig ChangeConfig holds a configuration for the change of a change control which is essentially a named configuration of stages.\nField Name Type Description name google.protobuf.StringValue name is the name of the change.\nroot_stage_id google.protobuf.StringValue root_stage_id is the ID of the root stage or the stage that\nshould execute first.\nstages StageConfigMap stages holds a configuration of stages. See StageConfigMap\ndescription for more information.\nnotes google.protobuf.StringValue notes are any notes associated with the change.\nChangeControl ChangeControl holds the configuration and status of a change control.\nField Name Type Description key ChangeControlKey key uniquely identifies the change control.\nchange Change change holds the configuration and status of the change of\nthe change control.\napprove Flag approve indicates whether the change control was flagged\nas approved (approve.value set to true) or unapproved\n(approve.value set to false).\nstart Flag start indicates whether the change control was flagged to\nstart (start.value set to true) or stop (start.value\nset to false) execution.\nstatus ChangeControlStatus status is the execution status of the change control.\nerror google.protobuf.StringValue error is any error that occurred during the execution of the\nchange control.\nschedule TimestampFlag schedule indicates whether the change control was flagged\nto be scheduled (schedule.value set to some timestamp) or\nunscheduled (schedule.value set to nil) for execution.\ndevice_ids fmp.RepeatedString device_ids is a list of device IDs on which the change control will operate.\nChangeControlConfig ChangeControlConfig holds the configuration of a change control.\nField Name Type Description key ChangeControlKey key uniquely identifies the change control.\nchange ChangeConfig change is the change subject to execution.\nstart FlagConfig start is the flag to start (start.value set to true)\nor stop (start.value set to false) execution of the\nchange control.\nschedule TimestampFlagConfig schedule is the flag to schedule (schedule.value set to\nsome timestamp) or unschedule (schedule.value set to\nnil) the change control for execution.\nChangeControlKey ChangeControlKey uniquely identifies a change control.\nField Name Type Description id google.protobuf.StringValue id is the ID of the change control.\nFilter Filter is used to filter changecontrols for requested device ids.\nField Name Type Description device_ids fmp.RepeatedString device_ids includes the list of device ids to be matched with devices\nin the changecontrol state model.\nAt least one of the provided device ids must be present in CC devices field.\nFlag Flag holds the configuration of a boolean flag plus some information about when and by whom it was set.\nField Name Type Description value google.protobuf.BoolValue value is the value of the flag (true or false).\nnotes google.protobuf.StringValue notes are any notes associated with the setting of the flag.\ntime google.protobuf.Timestamp time is the time at which the flag was last updated.\nuser google.protobuf.StringValue user is the user by which the flag was last updated.\nFlagConfig FlagConfig is used to set a flag on a change control that takes a boolean value (e.g. start/stop, approve/unapprove).\nField Name Type Description value google.protobuf.BoolValue value is the value of the flag (true or false).\nnotes google.protobuf.StringValue notes are any notes associated with the flag value.\nRepeatedRepeatedString RepeatedRepeatedString wraps a repeated fmp.RepeatedString to define a string matrix which is used to represent stage rows (see StageConfig).\nField Name Type Description values fmp.RepeatedString[\u0026hellip;] values is a list of fmp.RepeatedString.\nStage Stage holds the configuration and status of a stage.\nField Name Type Description name google.protobuf.StringValue name is the name of the stage.\naction Action action is the action to perform during the stage.\nrows RepeatedRepeatedString rows is a series of rows of parallel stages referenced\nby ID. See StageConfig.rows for more details.\nstatus StageStatus status is the execution status of the stage.\nerror google.protobuf.StringValue error is any error that occured during the execution\nof the stage.\nstart_time google.protobuf.Timestamp start_time is the time when status change to Running\nend_time google.protobuf.Timestamp end_time is the time when status change to Completed\nStageConfig StageConfig holds a configuration for a stage in a change control. Each stage generally defines either an action or a series of sub-stages.\nField Name Type Description name google.protobuf.StringValue name is the name of the stage.\naction Action action is the action to perform on stage execution.\nrows RepeatedRepeatedString rows is a series of rows of parallel stages referenced\nby ID. Each row is run one after the other and the\nstages within each row are run in parallel.\nFor example:\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[[\u0026quot;1a\u0026quot;, \u0026quot;1b\u0026quot;], [\u0026quot;2\u0026quot;]]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nThis configures stage 1a and stage 1b to run at the\nsame time, and then stage 2 once both of them have\ncompleted.\nStageConfigMap StageConfigMap wraps a map from stage ID to StageConfig. This defines the configuration and order of execution for the stages in a change control.\nFor example:\n{ \u0026#34;root\u0026#34;: { name: \u0026#34;root\u0026#34;, rows: [[\u0026#34;1-2\u0026#34;], [\u0026#34;3\u0026#34;]] }, \u0026#34;1-2\u0026#34;: { name: \u0026#34;stages 1-2\u0026#34;, rows: [[\u0026#34;1\u0026#34;], [\u0026#34;2\u0026#34;]] }, \u0026#34;1\u0026#34;: { name: \u0026#34;stage 1\u0026#34;, rows: [[\u0026#34;1a\u0026#34;, \u0026#34;1b\u0026#34;]] }, \u0026#34;1a\u0026#34;: { name: \u0026#34;stage 1a\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;101\u0026#34; } }, \u0026#34;1b\u0026#34;: { name: \u0026#34;stage 1b\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;102\u0026#34; } }, \u0026#34;2\u0026#34;: { name: \u0026#34;stage 2\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;103\u0026#34; } }, \u0026#34;3\u0026#34;: { name: \u0026#34;stage 3\u0026#34;, action: { name: \u0026#34;task\u0026#34;, args: { \u0026#34;TaskID\u0026#34;: \u0026#34;104\u0026#34; } } } Assuming the root stage ID of the enclosing change control is \u0026ldquo;root\u0026rdquo;, this would mean to do the following in sequence:\nroot |- stages 1-2 | |- stage 1 | | |- stage 1a, stage 1b (parallel) | |- stage 2 |- stage 3 That is, execute tasks 101 and 102 in parallel, then task 103, then task 104.\nField Name Type Description values StageConfigMap.ValuesEntry[\u0026hellip;] values is a map from stage ID to StageConfig.\nStageConfigMap.ValuesEntry Field Name Type Description key string value StageConfig StageMap StageMap is a map from stage ID to Stage. This has essentially the same structure as StageConfigMap, but with each ID mapping to a Stage instead of StageConfig.\nField Name Type Description values StageMap.ValuesEntry[\u0026hellip;] values is a map from stage ID to Stage.\nStageMap.ValuesEntry Field Name Type Description key string value Stage TimestampFlag TimestampFlag holds the configuration of a timestamp flag plus some information about when and by whom is was set.\nField Name Type Description value google.protobuf.Timestamp value is the value of the flag (some timestamp).\nnotes google.protobuf.StringValue notes are any notes associated with the setting of the flag.\ntime google.protobuf.Timestamp time is the time at which the flag was last updated.\nuser google.protobuf.StringValue user is the user by which the flag was last updated.\nTimestampFlagConfig TimestampFlagConfig is used to set a flag on a change control that takes a timestamp value (e.g. schedule/unschedule).\nField Name Type Description value google.protobuf.Timestamp value is the value of the flag (some timestamp).\nnotes google.protobuf.StringValue notes are the notes associated with the flag value.\nChangeControlStatus ChangeControlStatus defines the possible execution statuses of a change control.\nName Number Description CHANGE_CONTROL_STATUS_UNSPECIFIED 0 CHANGE_CONTROL_STATUS_RUNNING 1 CHANGE_CONTROL_STATUS_RUNNING means the change control has begun\nexecution.\nCHANGE_CONTROL_STATUS_COMPLETED 2 CHANGE_CONTROL_STATUS_COMPLETED means the change control has ceased\nexecution. Success/failure of a change control cannot be inferred\nfrom this status alone but rather this status plus the change control\nerror. That is, no error implies success and some error implies failure.\nCHANGE_CONTROL_STATUS_SCHEDULED 3 CHANGE_CONTROL_STATUS_SCHEDULED means the change control has been\nscheduled for execution at some time. Any failure that occurs during\nthis process will cause a transition back to the unspecified status,\na reset of the schedule flag by the system, and an error on the change\ncontrol reporting the details of the failure.\nCHANGE_CONTROL_STATUS_NOT_STARTED 4 CHANGE_CONTROL_STATUS_NOT_STARTED means the change control has not been\nstarted. This would include approved and not approved change controls.\nStageStatus StageStatus defines the possible execution statuses of a stage.\nName Number Description STAGE_STATUS_UNSPECIFIED 0 STAGE_STATUS_RUNNING 1 STAGE_STATUS_RUNNING means the stage has begun execution.\nSTAGE_STATUS_COMPLETED 2 STAGE_STATUS_COMPLETED means the stage has ceased execution.\nSuccess/failure of a stage cannot be inferred from this status\nalone but rather this status plus the stage error. That is, no\nerror implies success and some error implies failure.\nSTAGE_STATUS_NOT_STARTED 3 STAGE_STATUS_NOT_STARTED means the stage has not been started.\nTop\narista/changecontrol.v1/services.gen.proto ApproveConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ApproveConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ApproveConfig at end.\n* Each ApproveConfig response is fully-specified (all fields set).\n* start: Returns the state of each ApproveConfig at start, followed by updates until now.\n* Each ApproveConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ApproveConfig at start, followed by updates\nuntil end.\n* Each ApproveConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nApproveConfigBatchedStreamResponse Field Name Type Description responses ApproveConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nApproveConfigDeleteAllRequest Field Name Type Description partial_eq_filter ApproveConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nApproveConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ChangeControlKey This is the key of the ApproveConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nApproveConfigDeleteRequest Field Name Type Description key ChangeControlKey Key indicates which ApproveConfig instance to remove.\nThis field must always be set.\nApproveConfigDeleteResponse Field Name Type Description key ChangeControlKey Key echoes back the key of the deleted ApproveConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nApproveConfigDeleteSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] key contains a list of ApproveConfig keys to delete\nApproveConfigDeleteSomeResponse ApproveConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ChangeControlKey error string ApproveConfigRequest Field Name Type Description key ChangeControlKey Key uniquely identifies a ApproveConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nApproveConfigResponse Field Name Type Description value ApproveConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nApproveConfig instance in this response.\nApproveConfigSetRequest Field Name Type Description value ApproveConfig ApproveConfig carries the value to set into the datastore.\nSee the documentation on the ApproveConfig struct for which fields are required.\nApproveConfigSetResponse Field Name Type Description value ApproveConfig Value carries all the values given in the ApproveConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nApproveConfigSetSomeRequest Field Name Type Description values ApproveConfig[\u0026hellip;] value contains a list of ApproveConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nApproveConfigSetSomeResponse Field Name Type Description key ChangeControlKey error string ApproveConfigSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nApproveConfigSomeResponse Field Name Type Description value ApproveConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ApproveConfigStreamRequest Field Name Type Description partial_eq_filter ApproveConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ApproveConfig at end.\n* Each ApproveConfig response is fully-specified (all fields set).\n* start: Returns the state of each ApproveConfig at start, followed by updates until now.\n* Each ApproveConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ApproveConfig at start, followed by updates\nuntil end.\n* Each ApproveConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nApproveConfigStreamResponse Field Name Type Description value ApproveConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ApproveConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ApproveConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nChangeControlBatchedStreamRequest Field Name Type Description partial_eq_filter ChangeControl[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ChangeControl in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ChangeControl is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControl at end.\n* Each ChangeControl response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControl at start, followed by updates until now.\n* Each ChangeControl response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControl at start, followed by updates\nuntil end.\n* Each ChangeControl response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nChangeControlBatchedStreamResponse Field Name Type Description responses ChangeControlStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nChangeControlConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ChangeControlConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControlConfig at end.\n* Each ChangeControlConfig response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControlConfig at start, followed by updates until now.\n* Each ChangeControlConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControlConfig at start, followed by updates\nuntil end.\n* Each ChangeControlConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nChangeControlConfigBatchedStreamResponse Field Name Type Description responses ChangeControlConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nChangeControlConfigDeleteAllRequest Field Name Type Description partial_eq_filter ChangeControlConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nChangeControlConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ChangeControlKey This is the key of the ChangeControlConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nChangeControlConfigDeleteRequest Field Name Type Description key ChangeControlKey Key indicates which ChangeControlConfig instance to remove.\nThis field must always be set.\nChangeControlConfigDeleteResponse Field Name Type Description key ChangeControlKey Key echoes back the key of the deleted ChangeControlConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nChangeControlConfigDeleteSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] key contains a list of ChangeControlConfig keys to delete\nChangeControlConfigDeleteSomeResponse ChangeControlConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ChangeControlKey error string ChangeControlConfigRequest Field Name Type Description key ChangeControlKey Key uniquely identifies a ChangeControlConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlConfigResponse Field Name Type Description value ChangeControlConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nChangeControlConfig instance in this response.\nChangeControlConfigSetRequest Field Name Type Description value ChangeControlConfig ChangeControlConfig carries the value to set into the datastore.\nSee the documentation on the ChangeControlConfig struct for which fields are required.\nChangeControlConfigSetResponse Field Name Type Description value ChangeControlConfig Value carries all the values given in the ChangeControlConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nChangeControlConfigSetSomeRequest Field Name Type Description values ChangeControlConfig[\u0026hellip;] value contains a list of ChangeControlConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nChangeControlConfigSetSomeResponse Field Name Type Description key ChangeControlKey error string ChangeControlConfigSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlConfigSomeResponse Field Name Type Description value ChangeControlConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ChangeControlConfigStreamRequest Field Name Type Description partial_eq_filter ChangeControlConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControlConfig at end.\n* Each ChangeControlConfig response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControlConfig at start, followed by updates until now.\n* Each ChangeControlConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControlConfig at start, followed by updates\nuntil end.\n* Each ChangeControlConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nChangeControlConfigStreamResponse Field Name Type Description value ChangeControlConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ChangeControlConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ChangeControlConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nChangeControlRequest Field Name Type Description key ChangeControlKey Key uniquely identifies a ChangeControl instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlResponse Field Name Type Description value ChangeControl Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nChangeControl instance in this response.\nChangeControlSomeRequest Field Name Type Description keys ChangeControlKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nChangeControlSomeResponse Field Name Type Description value ChangeControl Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ChangeControlStreamRequest Field Name Type Description partial_eq_filter ChangeControl[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ChangeControl in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ChangeControl is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ChangeControl at end.\n* Each ChangeControl response is fully-specified (all fields set).\n* start: Returns the state of each ChangeControl at start, followed by updates until now.\n* Each ChangeControl response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ChangeControl at start, followed by updates\nuntil end.\n* Each ChangeControl response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nChangeControlStreamResponse Field Name Type Description value ChangeControl Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ChangeControl\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ChangeControl value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nApproveConfigService Method Name Request Type Response Type Description GetOne ApproveConfigRequest ApproveConfigResponse GetSome ApproveConfigSomeRequest ApproveConfigSomeResponse stream GetAll ApproveConfigStreamRequest ApproveConfigStreamResponse stream Subscribe ApproveConfigStreamRequest ApproveConfigStreamResponse stream GetMeta ApproveConfigStreamRequest MetaResponse SubscribeMeta ApproveConfigStreamRequest MetaResponse stream Set ApproveConfigSetRequest ApproveConfigSetResponse SetSome ApproveConfigSetSomeRequest ApproveConfigSetSomeResponse stream Delete ApproveConfigDeleteRequest ApproveConfigDeleteResponse DeleteSome ApproveConfigDeleteSomeRequest ApproveConfigDeleteSomeResponse stream DeleteAll ApproveConfigDeleteAllRequest ApproveConfigDeleteAllResponse stream GetAllBatched ApproveConfigBatchedStreamRequest ApproveConfigBatchedStreamResponse stream SubscribeBatched ApproveConfigBatchedStreamRequest ApproveConfigBatchedStreamResponse stream ChangeControlConfigService Method Name Request Type Response Type Description GetOne ChangeControlConfigRequest ChangeControlConfigResponse GetSome ChangeControlConfigSomeRequest ChangeControlConfigSomeResponse stream GetAll ChangeControlConfigStreamRequest ChangeControlConfigStreamResponse stream Subscribe ChangeControlConfigStreamRequest ChangeControlConfigStreamResponse stream GetMeta ChangeControlConfigStreamRequest MetaResponse SubscribeMeta ChangeControlConfigStreamRequest MetaResponse stream Set ChangeControlConfigSetRequest ChangeControlConfigSetResponse SetSome ChangeControlConfigSetSomeRequest ChangeControlConfigSetSomeResponse stream Delete ChangeControlConfigDeleteRequest ChangeControlConfigDeleteResponse DeleteSome ChangeControlConfigDeleteSomeRequest ChangeControlConfigDeleteSomeResponse stream DeleteAll ChangeControlConfigDeleteAllRequest ChangeControlConfigDeleteAllResponse stream GetAllBatched ChangeControlConfigBatchedStreamRequest ChangeControlConfigBatchedStreamResponse stream SubscribeBatched ChangeControlConfigBatchedStreamRequest ChangeControlConfigBatchedStreamResponse stream ChangeControlService Method Name Request Type Response Type Description GetOne ChangeControlRequest ChangeControlResponse GetSome ChangeControlSomeRequest ChangeControlSomeResponse stream GetAll ChangeControlStreamRequest ChangeControlStreamResponse stream Subscribe ChangeControlStreamRequest ChangeControlStreamResponse stream GetMeta ChangeControlStreamRequest MetaResponse SubscribeMeta ChangeControlStreamRequest MetaResponse stream GetAllBatched ChangeControlBatchedStreamRequest ChangeControlBatchedStreamResponse stream SubscribeBatched ChangeControlBatchedStreamRequest ChangeControlBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/configlet.v1/","title":"configlet.v1","tags":[],"description":"","content":" arista/configlet.v1/configlet.proto\nConfiglet\nConfigletAssignment\nConfigletAssignmentConfig\nConfigletAssignmentKey\nConfigletConfig\nConfigletKey\nFilter\nMatchPolicy\narista/configlet.v1/services.gen.proto\nConfigletAssignmentBatchedStreamRequest\nConfigletAssignmentBatchedStreamResponse\nConfigletAssignmentConfigBatchedStreamRequest\nConfigletAssignmentConfigBatchedStreamResponse\nConfigletAssignmentConfigDeleteAllRequest\nConfigletAssignmentConfigDeleteAllResponse\nConfigletAssignmentConfigDeleteRequest\nConfigletAssignmentConfigDeleteResponse\nConfigletAssignmentConfigDeleteSomeRequest\nConfigletAssignmentConfigDeleteSomeResponse\nConfigletAssignmentConfigRequest\nConfigletAssignmentConfigResponse\nConfigletAssignmentConfigSetRequest\nConfigletAssignmentConfigSetResponse\nConfigletAssignmentConfigSetSomeRequest\nConfigletAssignmentConfigSetSomeResponse\nConfigletAssignmentConfigSomeRequest\nConfigletAssignmentConfigSomeResponse\nConfigletAssignmentConfigStreamRequest\nConfigletAssignmentConfigStreamResponse\nConfigletAssignmentRequest\nConfigletAssignmentResponse\nConfigletAssignmentSomeRequest\nConfigletAssignmentSomeResponse\nConfigletAssignmentStreamRequest\nConfigletAssignmentStreamResponse\nConfigletBatchedStreamRequest\nConfigletBatchedStreamResponse\nConfigletConfigBatchedStreamRequest\nConfigletConfigBatchedStreamResponse\nConfigletConfigDeleteAllRequest\nConfigletConfigDeleteAllResponse\nConfigletConfigDeleteRequest\nConfigletConfigDeleteResponse\nConfigletConfigDeleteSomeRequest\nConfigletConfigDeleteSomeResponse\nConfigletConfigRequest\nConfigletConfigResponse\nConfigletConfigSetRequest\nConfigletConfigSetResponse\nConfigletConfigSetSomeRequest\nConfigletConfigSetSomeResponse\nConfigletConfigSomeRequest\nConfigletConfigSomeResponse\nConfigletConfigStreamRequest\nConfigletConfigStreamResponse\nConfigletRequest\nConfigletResponse\nConfigletSomeRequest\nConfigletSomeResponse\nConfigletStreamRequest\nConfigletStreamResponse\nMetaResponse\nConfigletAssignmentConfigService\nConfigletAssignmentService\nConfigletConfigService\nConfigletService\nTop\narista/configlet.v1/configlet.proto Configlet Configlet is the state of a static configlet in a workspace or mainline. Subscribe and GetAll do not return the \u0026ldquo;body\u0026rdquo; Use GetOne to get the body of individual configlets\nField Name Type Description key ConfigletKey display_name google.protobuf.StringValue display_name is the display name of the static configlet.\ndescription google.protobuf.StringValue description is the description of the static configlet.\nmigrated_from google.protobuf.StringValue migrated_from is populated with the source configlet name when migrated\nfrom network provisioning to studio.\nbody google.protobuf.StringValue body is the static configlet body.\ncreated_at google.protobuf.Timestamp created_at is the time when the Configlet was created.\ncreated_by google.protobuf.StringValue created_by is the user who created the Configlet.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time when the Configlet was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the user who last modified the Configlet.\ndigest google.protobuf.StringValue digest is the sha256 hash of the configlet body encoded in hexadecimal.\nsize google.protobuf.Int64Value size of configlet body in bytes.\nConfigletAssignment ConfigletAssignment is the state of this assignment in a workspace/mainline\nField Name Type Description key ConfigletAssignmentKey display_name google.protobuf.StringValue description google.protobuf.StringValue configlet_ids fmp.RepeatedString configlet_ids is the list of configlets which are assigned\nquery google.protobuf.StringValue query represents the tag query assigned\nmatch_policy MatchPolicy match_policy is the discriminator for the query field\nchild_assignment_ids fmp.RepeatedString list of child assignments\ncreated_at google.protobuf.Timestamp created_at is the time when the ConfigletAssignment was created.\ncreated_by google.protobuf.StringValue created_by is the user who created the ConfigletAssignment.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time when the ConfigletAssignment\nwas last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the user who last modified the ConfigletAssignment.\nConfigletAssignmentConfig ConfigletAssignmentConfig are the the inputs to the static configlet studio. Each assignment assigns a list of configlets to the devices matching the tag query. Individual assignments can have a list of \u0026ldquo;child\u0026rdquo; assignments. The totality of these assignments form a list of tree hierarchies. Using the corresponding GUI workflow should help explain this structure. When traversing a tree and assigning static configlets to devices, the following rules are applied:\nTag queries at each level need to resolve to a subset of its parent\u0026rsquo;s queries. Devices resolved in child assignments but which do not resolve in that of its parent\u0026rsquo;s are skipped. Match policy determines how the assignment\u0026rsquo;s devices get divied up amongst its children. Field Name Type Description key ConfigletAssignmentKey display_name google.protobuf.StringValue description google.protobuf.StringValue configlet_ids fmp.RepeatedString configlet_ids is the list of configlets to be assigned\nquery google.protobuf.StringValue query is a tag query string that conforms to the CloudVision\ntag query language. E.g., the query, \u0026quot;datacenter:NYC,SFO AND\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;sflow:enabled\u0026quot;, matches all devices with sflow enabled in\ndata centers NYC and SFO.\nmalformed queries result in an error\ntags not matching devices are ignored\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the tag assignments involving the studio identified\nby the key if the encompassing workspace merges. Other data\nfields are not allowed if this field is set to true.\nmatch_policy MatchPolicy match_policy is the discriminator for the query field\nchild_assignment_ids fmp.RepeatedString list of child assignments\nConfigletAssignmentKey ConfigletAssignmentKey uniquely identifies a configlet assignment\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the unique identifier of the workspace.\nconfiglet_assignment_id google.protobuf.StringValue configlet_assignment_id is the unique identifier of the configlet_assignment.\nConfigletConfig ConfigletConfig updates a static configlet in a workspace.\nField Name Type Description key ConfigletKey remove google.protobuf.BoolValue remove specifies the static configlet is to be removed from the workspace.\nOther data fields are not allowed when this field is set to true.\ndisplay_name google.protobuf.StringValue display_name is the display name of the static configlet.\ndescription google.protobuf.StringValue description is the description of the static configlet.\nmigrated_from google.protobuf.StringValue migrated_from is populated with the source configlet name when migrated\nfrom network provisioning to studio.\nbody google.protobuf.StringValue body is the static configlet body.\nConfigletKey ConfigletKey uniquely identifies a static configlet.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id identifies the workspace within which the static configlet resides\nempty string (\u0026quot;\u0026quot;) stands for the \u0026ldquo;mainline\u0026rdquo;.\nconfiglet_id google.protobuf.StringValue configlet_id is the static configlet ID.\nFilter Filter is used to filter static configlets.\nField Name Type Description include_body google.protobuf.BoolValue include_body specifies the static configlet body is to be included.\nMatchPolicy MatchPolicy specifies how the tag query of a configlet assignment should be used to resolve devices for its children\nName Number Description MATCH_POLICY_UNSPECIFIED 0 MATCH_POLICY_MATCH_FIRST 1 MATCH_POLICY_MATCH_FIRST dictates that matching devices are used only for the first match amongst its children\nMATCH_POLICY_MATCH_ALL 2 MATCH_POLICY_MATCH_ALL dictates that matching devices are used across all children\nTop\narista/configlet.v1/services.gen.proto ConfigletAssignmentBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignment at end.\n* Each ConfigletAssignment response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignment at start, followed by updates until now.\n* Each ConfigletAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignment at start, followed by updates\nuntil end.\n* Each ConfigletAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletAssignmentBatchedStreamResponse Field Name Type Description responses ConfigletAssignmentStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletAssignmentConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignmentConfig at end.\n* Each ConfigletAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignmentConfig at start, followed by updates until now.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignmentConfig at start, followed by updates\nuntil end.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletAssignmentConfigBatchedStreamResponse Field Name Type Description responses ConfigletAssignmentConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletAssignmentConfigDeleteAllRequest Field Name Type Description partial_eq_filter ConfigletAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nConfigletAssignmentConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ConfigletAssignmentKey This is the key of the ConfigletAssignmentConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nConfigletAssignmentConfigDeleteRequest Field Name Type Description key ConfigletAssignmentKey Key indicates which ConfigletAssignmentConfig instance to remove.\nThis field must always be set.\nConfigletAssignmentConfigDeleteResponse Field Name Type Description key ConfigletAssignmentKey Key echoes back the key of the deleted ConfigletAssignmentConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nConfigletAssignmentConfigDeleteSomeRequest Field Name Type Description keys ConfigletAssignmentKey[\u0026hellip;] key contains a list of ConfigletAssignmentConfig keys to delete\nConfigletAssignmentConfigDeleteSomeResponse ConfigletAssignmentConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ConfigletAssignmentKey error string ConfigletAssignmentConfigRequest Field Name Type Description key ConfigletAssignmentKey Key uniquely identifies a ConfigletAssignmentConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentConfigResponse Field Name Type Description value ConfigletAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigletAssignmentConfig instance in this response.\nConfigletAssignmentConfigSetRequest Field Name Type Description value ConfigletAssignmentConfig ConfigletAssignmentConfig carries the value to set into the datastore.\nSee the documentation on the ConfigletAssignmentConfig struct for which fields are required.\nConfigletAssignmentConfigSetResponse Field Name Type Description value ConfigletAssignmentConfig Value carries all the values given in the ConfigletAssignmentConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nConfigletAssignmentConfigSetSomeRequest Field Name Type Description values ConfigletAssignmentConfig[\u0026hellip;] value contains a list of ConfigletAssignmentConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nConfigletAssignmentConfigSetSomeResponse Field Name Type Description key ConfigletAssignmentKey error string ConfigletAssignmentConfigSomeRequest Field Name Type Description keys ConfigletAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentConfigSomeResponse Field Name Type Description value ConfigletAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletAssignmentConfigStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignmentConfig at end.\n* Each ConfigletAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignmentConfig at start, followed by updates until now.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignmentConfig at start, followed by updates\nuntil end.\n* Each ConfigletAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletAssignmentConfigStreamResponse Field Name Type Description value ConfigletAssignmentConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigletAssignmentConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigletAssignmentConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigletAssignmentRequest Field Name Type Description key ConfigletAssignmentKey Key uniquely identifies a ConfigletAssignment instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentResponse Field Name Type Description value ConfigletAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigletAssignment instance in this response.\nConfigletAssignmentSomeRequest Field Name Type Description keys ConfigletAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletAssignmentSomeResponse Field Name Type Description value ConfigletAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletAssignmentStreamRequest Field Name Type Description partial_eq_filter ConfigletAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletAssignment at end.\n* Each ConfigletAssignment response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletAssignment at start, followed by updates until now.\n* Each ConfigletAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletAssignment at start, followed by updates\nuntil end.\n* Each ConfigletAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletAssignmentStreamResponse Field Name Type Description value ConfigletAssignment Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigletAssignment\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigletAssignment value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigletBatchedStreamRequest Field Name Type Description partial_eq_filter Configlet[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each Configlet in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Configlet is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configlet at end.\n* Each Configlet response is fully-specified (all fields set).\n* start: Returns the state of each Configlet at start, followed by updates until now.\n* Each Configlet response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configlet at start, followed by updates\nuntil end.\n* Each Configlet response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletBatchedStreamResponse Field Name Type Description responses ConfigletStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletConfigBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigletConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ConfigletConfig in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ConfigletConfig is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletConfig at end.\n* Each ConfigletConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletConfig at start, followed by updates until now.\n* Each ConfigletConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletConfig at start, followed by updates\nuntil end.\n* Each ConfigletConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigletConfigBatchedStreamResponse Field Name Type Description responses ConfigletConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigletConfigDeleteAllRequest Field Name Type Description partial_eq_filter ConfigletConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nfilter Filter For each ConfigletConfig in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ConfigletConfig will be deleted.\nConfigletConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey ConfigletKey This is the key of the ConfigletConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nConfigletConfigDeleteRequest Field Name Type Description key ConfigletKey Key indicates which ConfigletConfig instance to remove.\nThis field must always be set.\nConfigletConfigDeleteResponse Field Name Type Description key ConfigletKey Key echoes back the key of the deleted ConfigletConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nConfigletConfigDeleteSomeRequest Field Name Type Description keys ConfigletKey[\u0026hellip;] key contains a list of ConfigletConfig keys to delete\nConfigletConfigDeleteSomeResponse ConfigletConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key ConfigletKey error string ConfigletConfigRequest Field Name Type Description key ConfigletKey Key uniquely identifies a ConfigletConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletConfigResponse Field Name Type Description value ConfigletConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigletConfig instance in this response.\nConfigletConfigSetRequest Field Name Type Description value ConfigletConfig ConfigletConfig carries the value to set into the datastore.\nSee the documentation on the ConfigletConfig struct for which fields are required.\nConfigletConfigSetResponse Field Name Type Description value ConfigletConfig Value carries all the values given in the ConfigletConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nConfigletConfigSetSomeRequest Field Name Type Description values ConfigletConfig[\u0026hellip;] value contains a list of ConfigletConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nConfigletConfigSetSomeResponse Field Name Type Description key ConfigletKey error string ConfigletConfigSomeRequest Field Name Type Description keys ConfigletKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletConfigSomeResponse Field Name Type Description value ConfigletConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletConfigStreamRequest Field Name Type Description partial_eq_filter ConfigletConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each ConfigletConfig in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given ConfigletConfig is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigletConfig at end.\n* Each ConfigletConfig response is fully-specified (all fields set).\n* start: Returns the state of each ConfigletConfig at start, followed by updates until now.\n* Each ConfigletConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigletConfig at start, followed by updates\nuntil end.\n* Each ConfigletConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletConfigStreamResponse Field Name Type Description value ConfigletConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigletConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigletConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigletRequest Field Name Type Description key ConfigletKey Key uniquely identifies a Configlet instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletResponse Field Name Type Description value Configlet Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfiglet instance in this response.\nConfigletSomeRequest Field Name Type Description keys ConfigletKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigletSomeResponse Field Name Type Description value Configlet Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigletStreamRequest Field Name Type Description partial_eq_filter Configlet[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter For each Configlet in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Configlet is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configlet at end.\n* Each Configlet response is fully-specified (all fields set).\n* start: Returns the state of each Configlet at start, followed by updates until now.\n* Each Configlet response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configlet at start, followed by updates\nuntil end.\n* Each Configlet response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigletStreamResponse Field Name Type Description value Configlet Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Configlet\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Configlet value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nConfigletAssignmentConfigService Method Name Request Type Response Type Description GetOne ConfigletAssignmentConfigRequest ConfigletAssignmentConfigResponse GetSome ConfigletAssignmentConfigSomeRequest ConfigletAssignmentConfigSomeResponse stream GetAll ConfigletAssignmentConfigStreamRequest ConfigletAssignmentConfigStreamResponse stream Subscribe ConfigletAssignmentConfigStreamRequest ConfigletAssignmentConfigStreamResponse stream GetMeta ConfigletAssignmentConfigStreamRequest MetaResponse SubscribeMeta ConfigletAssignmentConfigStreamRequest MetaResponse stream Set ConfigletAssignmentConfigSetRequest ConfigletAssignmentConfigSetResponse SetSome ConfigletAssignmentConfigSetSomeRequest ConfigletAssignmentConfigSetSomeResponse stream Delete ConfigletAssignmentConfigDeleteRequest ConfigletAssignmentConfigDeleteResponse DeleteSome ConfigletAssignmentConfigDeleteSomeRequest ConfigletAssignmentConfigDeleteSomeResponse stream DeleteAll ConfigletAssignmentConfigDeleteAllRequest ConfigletAssignmentConfigDeleteAllResponse stream GetAllBatched ConfigletAssignmentConfigBatchedStreamRequest ConfigletAssignmentConfigBatchedStreamResponse stream SubscribeBatched ConfigletAssignmentConfigBatchedStreamRequest ConfigletAssignmentConfigBatchedStreamResponse stream ConfigletAssignmentService Method Name Request Type Response Type Description GetOne ConfigletAssignmentRequest ConfigletAssignmentResponse GetSome ConfigletAssignmentSomeRequest ConfigletAssignmentSomeResponse stream GetAll ConfigletAssignmentStreamRequest ConfigletAssignmentStreamResponse stream Subscribe ConfigletAssignmentStreamRequest ConfigletAssignmentStreamResponse stream GetMeta ConfigletAssignmentStreamRequest MetaResponse SubscribeMeta ConfigletAssignmentStreamRequest MetaResponse stream GetAllBatched ConfigletAssignmentBatchedStreamRequest ConfigletAssignmentBatchedStreamResponse stream SubscribeBatched ConfigletAssignmentBatchedStreamRequest ConfigletAssignmentBatchedStreamResponse stream ConfigletConfigService Method Name Request Type Response Type Description GetOne ConfigletConfigRequest ConfigletConfigResponse GetSome ConfigletConfigSomeRequest ConfigletConfigSomeResponse stream GetAll ConfigletConfigStreamRequest ConfigletConfigStreamResponse stream Subscribe ConfigletConfigStreamRequest ConfigletConfigStreamResponse stream GetMeta ConfigletConfigStreamRequest MetaResponse SubscribeMeta ConfigletConfigStreamRequest MetaResponse stream Set ConfigletConfigSetRequest ConfigletConfigSetResponse SetSome ConfigletConfigSetSomeRequest ConfigletConfigSetSomeResponse stream Delete ConfigletConfigDeleteRequest ConfigletConfigDeleteResponse DeleteSome ConfigletConfigDeleteSomeRequest ConfigletConfigDeleteSomeResponse stream DeleteAll ConfigletConfigDeleteAllRequest ConfigletConfigDeleteAllResponse stream GetAllBatched ConfigletConfigBatchedStreamRequest ConfigletConfigBatchedStreamResponse stream SubscribeBatched ConfigletConfigBatchedStreamRequest ConfigletConfigBatchedStreamResponse stream ConfigletService Method Name Request Type Response Type Description GetOne ConfigletRequest ConfigletResponse GetSome ConfigletSomeRequest ConfigletSomeResponse stream GetAll ConfigletStreamRequest ConfigletStreamResponse stream Subscribe ConfigletStreamRequest ConfigletStreamResponse stream GetMeta ConfigletStreamRequest MetaResponse SubscribeMeta ConfigletStreamRequest MetaResponse stream GetAllBatched ConfigletBatchedStreamRequest ConfigletBatchedStreamResponse stream SubscribeBatched ConfigletBatchedStreamRequest ConfigletBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/configstatus.v1/","title":"configstatus.v1","tags":[],"description":"","content":" arista/configstatus.v1/configstatus.proto\nConfigDiff\nConfigDiffKey\nConfigError\nConfigErrors\nConfigKey\nConfigSource\nConfigSources\nConfigSummary\nConfiguration\nDiffEntries\nDiffEntry\nSecurityProfile\nSecurityProfileComplianceSummary\nSecurityProfileDiff\nSecurityProfileDiffSummary\nSummary\nSummaryKey\nConfigFilterCode\nConfigSourceType\nConfigSyncCode\nConfigType\nDiffOp\nErrorCode\narista/configstatus.v1/services.gen.proto\nConfigDiffBatchedStreamRequest\nConfigDiffBatchedStreamResponse\nConfigDiffRequest\nConfigDiffResponse\nConfigDiffSomeRequest\nConfigDiffSomeResponse\nConfigDiffStreamRequest\nConfigDiffStreamResponse\nConfigurationBatchedStreamRequest\nConfigurationBatchedStreamResponse\nConfigurationRequest\nConfigurationResponse\nConfigurationSomeRequest\nConfigurationSomeResponse\nConfigurationStreamRequest\nConfigurationStreamResponse\nMetaResponse\nSecurityProfileBatchedStreamRequest\nSecurityProfileBatchedStreamResponse\nSecurityProfileDiffBatchedStreamRequest\nSecurityProfileDiffBatchedStreamResponse\nSecurityProfileDiffRequest\nSecurityProfileDiffResponse\nSecurityProfileDiffSomeRequest\nSecurityProfileDiffSomeResponse\nSecurityProfileDiffStreamRequest\nSecurityProfileDiffStreamResponse\nSecurityProfileDiffSummaryBatchedStreamRequest\nSecurityProfileDiffSummaryBatchedStreamResponse\nSecurityProfileDiffSummaryRequest\nSecurityProfileDiffSummaryResponse\nSecurityProfileDiffSummarySomeRequest\nSecurityProfileDiffSummarySomeResponse\nSecurityProfileDiffSummaryStreamRequest\nSecurityProfileDiffSummaryStreamResponse\nSecurityProfileRequest\nSecurityProfileResponse\nSecurityProfileSomeRequest\nSecurityProfileSomeResponse\nSecurityProfileStreamRequest\nSecurityProfileStreamResponse\nSummaryBatchedStreamRequest\nSummaryBatchedStreamResponse\nSummaryRequest\nSummaryResponse\nSummarySomeRequest\nSummarySomeResponse\nSummaryStreamRequest\nSummaryStreamResponse\nConfigDiffService\nConfigurationService\nSecurityProfileDiffService\nSecurityProfileDiffSummaryService\nSecurityProfileService\nSummaryService\nTop\narista/configstatus.v1/configstatus.proto ConfigDiff Field Name Type Description key ConfigDiffKey Key represents config diff key\nuri google.protobuf.StringValue Uri represents the HTTP URI client can use to GET config diff and associated errors\nConfigDiffKey ConfigDiffKey uniquely identifies a configuration diff request\nField Name Type Description a_device_id google.protobuf.StringValue A_device_id is the serial number of the device on A side (left hand side)\na_type ConfigType A_type is the config type on A side (left hand side)\na_time google.protobuf.Timestamp A_time is the time at which to fetch config on A side (left hand side)\nb_device_id google.protobuf.StringValue B_device_id is the serial number of the device on B side (right hand side)\nb_type ConfigType B_type is the config type on B side (right hand side)\nb_time google.protobuf.Timestamp B_time is the time at which to fetch config on B side (right hand side)\nConfigError ConfigError represents errors reported by CVP when handling device configuration\nField Name Type Description error_code ErrorCode error_msg google.protobuf.StringValue line_num google.protobuf.Int32Value Line_num represents line number, if any\nconfiglet_name google.protobuf.StringValue Configlet_name represents the originating configlet name. Configlet_name\nand line_num point to the line where config warning or config error originate.\nConfigErrors Field Name Type Description values ConfigError[\u0026hellip;] ConfigKey ConfigKey uniquely identifies a config request.\nField Name Type Description device_id google.protobuf.StringValue Device_id is the serial number of the device\ntype ConfigType Type describes the config type\nConfigSource ConfigSource describes an individual source of the proposed/designed config\nField Name Type Description source_type ConfigSourceType source_id google.protobuf.StringValue source_id identifier to distinguish between multiple instances of the source type\nsource_id is :\nconfiglet name for CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET\nstudio id for CONFIG_SOURCE_TYPE_STUDIO\nconfiglet id for CONFIG_SOURCE_TYPE_STUDIO_STATIC\nConfigSources ConfigSources is the list of sources of the proposed/designed config\nField Name Type Description values ConfigSource[\u0026hellip;] ConfigSummary ConfigSummary represents device configuration summary.\nField Name Type Description sync ConfigSyncCode nop_lines google.protobuf.Int32Value Number of lines with code no-operation\nignored_lines google.protobuf.Int32Value Number of lines with code IGNORE\nadded_lines google.protobuf.Int32Value Number of lines with code ADD\ndeleted_lines google.protobuf.Int32Value Number of lines with code DELETE\nchanged_lines google.protobuf.Int32Value Number of lines with code CHANGE\ndesigned_config_errors google.protobuf.Int32Value Number of designed config errors\ndesigned_config_warnings google.protobuf.Int32Value Number of designed config warnings\nrunning_config_update_time google.protobuf.Timestamp Timestamp at which running config is updated\ndesigned_config_update_time google.protobuf.Timestamp Timestamp at which designed config is updated\nrunning_config_uri google.protobuf.StringValue The HTTP URI client can use to GET running config and associated errors\ndesigned_config_uri google.protobuf.StringValue The HTTP URI client can use to GET designed config and associated errors\ndiff_uri google.protobuf.StringValue The HTTP URI client can use to GET config diff and associated errors\ndigest google.protobuf.StringValue Digest (SHA-256) of the config diff.\nConfiguration Configuration represents device\u0026rsquo;s CLI configuration\nField Name Type Description key ConfigKey uri google.protobuf.StringValue Uri represents the HTTP URI client can use to GET config body and associated errors\nDiffEntries DiffEntries indicates potential multiple lines of config diff\nField Name Type Description values DiffEntry[\u0026hellip;] DiffEntry DiffEntry represents one entry in a Diff\nField Name Type Description op DiffOp a_line_num google.protobuf.Int32Value line number in A this diff applies to\nb_line_num google.protobuf.Int32Value line number in B this diff applies to\nb_parent_line_num google.protobuf.Int32Value line number of the parent command in B\na_line google.protobuf.StringValue content of config line in A\nb_line google.protobuf.StringValue content of config line in B\na_filter_code ConfigFilterCode Config filter code of the line in A\nb_filter_code ConfigFilterCode Config filter code of the line in B\na_parent_line_num google.protobuf.Int32Value line number of the parent command in A\nSecurityProfile SecurityProfile holds the EOS configuration for the security profile.\nField Name Type Description key ConfigKey key uniquely identifies the configuration\nconfig google.protobuf.StringValue config describes the security profile config body\nSecurityProfileComplianceSummary SecurityProfileComplianceSummary holds the compliance summary for security profile configuration.\nField Name Type Description sync ConfigSyncCode nop_lines google.protobuf.Int32Value nop_lines is the number of lines with code no-operation\nignored_lines google.protobuf.Int32Value ignored_lines is the number of lines with code IGNORE\nadded_lines google.protobuf.Int32Value added_lines is the number of lines with code ADD\ndeleted_lines google.protobuf.Int32Value deleted_lines is the number of lines with code DELETE\nchanged_lines google.protobuf.Int32Value changed_lines is the Number of lines with code CHANGE\ndigest google.protobuf.StringValue digest is the digest (SHA-256 hash) of the security profile configuration diff\nrunning_config_update_time google.protobuf.Timestamp running_config_update_time is the timestamp at which running security profile\nor running config is updated\ndesigned_config_update_time google.protobuf.Timestamp designed_config_update_time is the timestamp at which designed security profile or\ndesigned config is updated\nSecurityProfileDiff SecurityProfileDiff holds the security profile configuration diff.\nField Name Type Description key ConfigDiffKey key represents security profile config diff key\ndiff DiffEntries diff represents diff entries\nSecurityProfileDiffSummary SecurityProfileDiffSummary holds device compliance summary w.r.t security profile.\nField Name Type Description key SummaryKey key uniquely identifies the Summary\nsummary SecurityProfileComplianceSummary summary is the security profile configuration compliance summary\nSummary Field Name Type Description key SummaryKey summary ConfigSummary SummaryKey SummaryKey uniquely identifies a device summary request\nField Name Type Description device_id google.protobuf.StringValue Device_id is the serial number of the device\nConfigFilterCode ConfigFilterCode indicates if a config line matches PCM filter(s)\nName Number Description CONFIG_FILTER_CODE_UNSPECIFIED 0 UNSPECIFIED indicates config line did not match any partial config management (PCM) filter\nCONFIG_FILTER_CODE_MANAGED_LINE 1 MANAGED_LINE indicates config line matches managed PCM filter hence is managed\nCONFIG_FILTER_CODE_UNMANAGED_LINE 2 UNMANAGED_LINE indicates config line matches unmanaged PCM filter hence is not managed\nConfigSourceType ConfigSourceType indicates the type of source for the proposed/designed configuration for the device\nName Number Description CONFIG_SOURCE_TYPE_UNSPECIFIED 0 CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET 1 CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET - configlet created from\nthe network provisioning workflow.\nCONFIG_SOURCE_TYPE_STUDIO 2 CONFIG_SOURCE_TYPE_STUDIO - config generated from a regular studio\nCONFIG_SOURCE_TYPE_STUDIO_STATIC 3 SCONFIG_SOURCE_TYPE_STUDIO_STATIC - static config from studios framework\nConfigSyncCode ConfigSyncCode indicates config synchronization status\nName Number Description CONFIG_SYNC_CODE_UNSPECIFIED 0 CONFIG_SYNC_CODE_IN_SYNC 1 IN_SYNC indicates designed config and running config are identical\nCONFIG_SYNC_CODE_OUT_OF_SYNC 2 OUT_OF_SYNC indicates designed config and running config are not identical\nConfigType Name Number Description CONFIG_TYPE_UNSPECIFIED 0 CONFIG_TYPE_RUNNING_CONFIG 1 CONFIG_TYPE_DESIGNED_CONFIG 2 DiffOp DiffOp is the operation to a line from one side of diff to get to another\nName Number Description DIFF_OP_UNSPECIFIED 0 DIFF_OP_NOP 1 NOP indicates no change. A and B are identical at this line\nDIFF_OP_IGNORE 2 IGNORE indicates a line that\u0026rsquo;s ignored in either A or B.\nOne of a_line_num or b_line_num will be -1\nDIFF_OP_ADD 3 ADD is an addition of a line from A\nDIFF_OP_DELETE 4 DELETE is deletion of a line from B\nDIFF_OP_CHANGE 5 CHANGE is a modification to a line in A\nErrorCode ErrorCode indicates warnings and errors produced during computing config\nName Number Description ERROR_CODE_UNSPECIFIED 0 ERROR_CODE_DEVICE_WARNING 1 DEVICE_WARNING indicates device warning\nERROR_CODE_DEVICE_ERROR 2 DEVICE_ERROR indicates device error\nERROR_CODE_UNREACHABLE_DEVICE 3 UNREACHABLE_DEVICE indicates the device cannot be reached\nERROR_CODE_CONFIG_FILTER_ERROR 4 CONFIG_FILTER_ERROR indicates error from partial config management filters\nERROR_CODE_INTERNAL 5 INTERNAL indicates internal errors\nTop\narista/configstatus.v1/services.gen.proto ConfigDiffBatchedStreamRequest Field Name Type Description partial_eq_filter ConfigDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigDiff at end.\n* Each ConfigDiff response is fully-specified (all fields set).\n* start: Returns the state of each ConfigDiff at start, followed by updates until now.\n* Each ConfigDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigDiff at start, followed by updates\nuntil end.\n* Each ConfigDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigDiffBatchedStreamResponse Field Name Type Description responses ConfigDiffStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigDiffRequest Field Name Type Description key ConfigDiffKey Key uniquely identifies a ConfigDiff instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigDiffResponse Field Name Type Description value ConfigDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfigDiff instance in this response.\nConfigDiffSomeRequest Field Name Type Description keys ConfigDiffKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigDiffSomeResponse Field Name Type Description value ConfigDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigDiffStreamRequest Field Name Type Description partial_eq_filter ConfigDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ConfigDiff at end.\n* Each ConfigDiff response is fully-specified (all fields set).\n* start: Returns the state of each ConfigDiff at start, followed by updates until now.\n* Each ConfigDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ConfigDiff at start, followed by updates\nuntil end.\n* Each ConfigDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigDiffStreamResponse Field Name Type Description value ConfigDiff Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ConfigDiff\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ConfigDiff value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigurationBatchedStreamRequest Field Name Type Description partial_eq_filter Configuration[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configuration at end.\n* Each Configuration response is fully-specified (all fields set).\n* start: Returns the state of each Configuration at start, followed by updates until now.\n* Each Configuration response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configuration at start, followed by updates\nuntil end.\n* Each Configuration response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nConfigurationBatchedStreamResponse Field Name Type Description responses ConfigurationStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nConfigurationRequest Field Name Type Description key ConfigKey Key uniquely identifies a Configuration instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigurationResponse Field Name Type Description value Configuration Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nConfiguration instance in this response.\nConfigurationSomeRequest Field Name Type Description keys ConfigKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nConfigurationSomeResponse Field Name Type Description value Configuration Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ConfigurationStreamRequest Field Name Type Description partial_eq_filter Configuration[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Configuration at end.\n* Each Configuration response is fully-specified (all fields set).\n* start: Returns the state of each Configuration at start, followed by updates until now.\n* Each Configuration response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Configuration at start, followed by updates\nuntil end.\n* Each Configuration response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nConfigurationStreamResponse Field Name Type Description value Configuration Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Configuration\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Configuration value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nSecurityProfileBatchedStreamRequest Field Name Type Description partial_eq_filter SecurityProfile[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfile at end.\n* Each SecurityProfile response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfile at start, followed by updates until now.\n* Each SecurityProfile response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfile at start, followed by updates\nuntil end.\n* Each SecurityProfile response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecurityProfileBatchedStreamResponse Field Name Type Description responses SecurityProfileStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecurityProfileDiffBatchedStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiff at end.\n* Each SecurityProfileDiff response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiff at start, followed by updates until now.\n* Each SecurityProfileDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiff at start, followed by updates\nuntil end.\n* Each SecurityProfileDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecurityProfileDiffBatchedStreamResponse Field Name Type Description responses SecurityProfileDiffStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecurityProfileDiffRequest Field Name Type Description key ConfigDiffKey Key uniquely identifies a SecurityProfileDiff instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffResponse Field Name Type Description value SecurityProfileDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecurityProfileDiff instance in this response.\nSecurityProfileDiffSomeRequest Field Name Type Description keys ConfigDiffKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffSomeResponse Field Name Type Description value SecurityProfileDiff Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecurityProfileDiffStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiff[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiff at end.\n* Each SecurityProfileDiff response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiff at start, followed by updates until now.\n* Each SecurityProfileDiff response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiff at start, followed by updates\nuntil end.\n* Each SecurityProfileDiff response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecurityProfileDiffStreamResponse Field Name Type Description value SecurityProfileDiff Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecurityProfileDiff\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecurityProfileDiff value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSecurityProfileDiffSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiffSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiffSummary at end.\n* Each SecurityProfileDiffSummary response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiffSummary at start, followed by updates until now.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiffSummary at start, followed by updates\nuntil end.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecurityProfileDiffSummaryBatchedStreamResponse Field Name Type Description responses SecurityProfileDiffSummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecurityProfileDiffSummaryRequest Field Name Type Description key SummaryKey Key uniquely identifies a SecurityProfileDiffSummary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffSummaryResponse Field Name Type Description value SecurityProfileDiffSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecurityProfileDiffSummary instance in this response.\nSecurityProfileDiffSummarySomeRequest Field Name Type Description keys SummaryKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileDiffSummarySomeResponse Field Name Type Description value SecurityProfileDiffSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecurityProfileDiffSummaryStreamRequest Field Name Type Description partial_eq_filter SecurityProfileDiffSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfileDiffSummary at end.\n* Each SecurityProfileDiffSummary response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfileDiffSummary at start, followed by updates until now.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfileDiffSummary at start, followed by updates\nuntil end.\n* Each SecurityProfileDiffSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecurityProfileDiffSummaryStreamResponse Field Name Type Description value SecurityProfileDiffSummary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecurityProfileDiffSummary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecurityProfileDiffSummary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSecurityProfileRequest Field Name Type Description key ConfigKey Key uniquely identifies a SecurityProfile instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileResponse Field Name Type Description value SecurityProfile Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecurityProfile instance in this response.\nSecurityProfileSomeRequest Field Name Type Description keys ConfigKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecurityProfileSomeResponse Field Name Type Description value SecurityProfile Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecurityProfileStreamRequest Field Name Type Description partial_eq_filter SecurityProfile[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecurityProfile at end.\n* Each SecurityProfile response is fully-specified (all fields set).\n* start: Returns the state of each SecurityProfile at start, followed by updates until now.\n* Each SecurityProfile response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecurityProfile at start, followed by updates\nuntil end.\n* Each SecurityProfile response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecurityProfileStreamResponse Field Name Type Description value SecurityProfile Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecurityProfile\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecurityProfile value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSummaryBatchedStreamResponse Field Name Type Description responses SummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSummaryRequest Field Name Type Description key SummaryKey Key uniquely identifies a Summary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummaryResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSummary instance in this response.\nSummarySomeRequest Field Name Type Description keys SummaryKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummarySomeResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SummaryStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSummaryStreamResponse Field Name Type Description value Summary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Summary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Summary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nConfigDiffService Method Name Request Type Response Type Description GetOne ConfigDiffRequest ConfigDiffResponse GetSome ConfigDiffSomeRequest ConfigDiffSomeResponse stream GetAll ConfigDiffStreamRequest ConfigDiffStreamResponse stream Subscribe ConfigDiffStreamRequest ConfigDiffStreamResponse stream GetMeta ConfigDiffStreamRequest MetaResponse SubscribeMeta ConfigDiffStreamRequest MetaResponse stream GetAllBatched ConfigDiffBatchedStreamRequest ConfigDiffBatchedStreamResponse stream SubscribeBatched ConfigDiffBatchedStreamRequest ConfigDiffBatchedStreamResponse stream ConfigurationService Method Name Request Type Response Type Description GetOne ConfigurationRequest ConfigurationResponse GetSome ConfigurationSomeRequest ConfigurationSomeResponse stream GetAll ConfigurationStreamRequest ConfigurationStreamResponse stream Subscribe ConfigurationStreamRequest ConfigurationStreamResponse stream GetMeta ConfigurationStreamRequest MetaResponse SubscribeMeta ConfigurationStreamRequest MetaResponse stream GetAllBatched ConfigurationBatchedStreamRequest ConfigurationBatchedStreamResponse stream SubscribeBatched ConfigurationBatchedStreamRequest ConfigurationBatchedStreamResponse stream SecurityProfileDiffService Method Name Request Type Response Type Description GetOne SecurityProfileDiffRequest SecurityProfileDiffResponse GetSome SecurityProfileDiffSomeRequest SecurityProfileDiffSomeResponse stream GetAll SecurityProfileDiffStreamRequest SecurityProfileDiffStreamResponse stream Subscribe SecurityProfileDiffStreamRequest SecurityProfileDiffStreamResponse stream GetMeta SecurityProfileDiffStreamRequest MetaResponse SubscribeMeta SecurityProfileDiffStreamRequest MetaResponse stream GetAllBatched SecurityProfileDiffBatchedStreamRequest SecurityProfileDiffBatchedStreamResponse stream SubscribeBatched SecurityProfileDiffBatchedStreamRequest SecurityProfileDiffBatchedStreamResponse stream SecurityProfileDiffSummaryService Method Name Request Type Response Type Description GetOne SecurityProfileDiffSummaryRequest SecurityProfileDiffSummaryResponse GetSome SecurityProfileDiffSummarySomeRequest SecurityProfileDiffSummarySomeResponse stream GetAll SecurityProfileDiffSummaryStreamRequest SecurityProfileDiffSummaryStreamResponse stream Subscribe SecurityProfileDiffSummaryStreamRequest SecurityProfileDiffSummaryStreamResponse stream GetMeta SecurityProfileDiffSummaryStreamRequest MetaResponse SubscribeMeta SecurityProfileDiffSummaryStreamRequest MetaResponse stream GetAllBatched SecurityProfileDiffSummaryBatchedStreamRequest SecurityProfileDiffSummaryBatchedStreamResponse stream SubscribeBatched SecurityProfileDiffSummaryBatchedStreamRequest SecurityProfileDiffSummaryBatchedStreamResponse stream SecurityProfileService Method Name Request Type Response Type Description GetOne SecurityProfileRequest SecurityProfileResponse GetSome SecurityProfileSomeRequest SecurityProfileSomeResponse stream GetAll SecurityProfileStreamRequest SecurityProfileStreamResponse stream Subscribe SecurityProfileStreamRequest SecurityProfileStreamResponse stream GetMeta SecurityProfileStreamRequest MetaResponse SubscribeMeta SecurityProfileStreamRequest MetaResponse stream GetAllBatched SecurityProfileBatchedStreamRequest SecurityProfileBatchedStreamResponse stream SubscribeBatched SecurityProfileBatchedStreamRequest SecurityProfileBatchedStreamResponse stream SummaryService Method Name Request Type Response Type Description GetOne SummaryRequest SummaryResponse GetSome SummarySomeRequest SummarySomeResponse stream GetAll SummaryStreamRequest SummaryStreamResponse stream Subscribe SummaryStreamRequest SummaryStreamResponse stream GetMeta SummaryStreamRequest MetaResponse SubscribeMeta SummaryStreamRequest MetaResponse stream GetAllBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream SubscribeBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/connectivitymonitor.v1/","title":"connectivitymonitor.v1","tags":[],"description":"","content":" arista/connectivitymonitor.v1/connectivitymonitor.proto\nProbe ProbeKey ProbeStats ProbeStatsKey arista/connectivitymonitor.v1/services.gen.proto\nMetaResponse\nProbeBatchedStreamRequest\nProbeBatchedStreamResponse\nProbeRequest\nProbeResponse\nProbeSomeRequest\nProbeSomeResponse\nProbeStatsBatchedStreamRequest\nProbeStatsBatchedStreamResponse\nProbeStatsRequest\nProbeStatsResponse\nProbeStatsSomeRequest\nProbeStatsSomeResponse\nProbeStatsStreamRequest\nProbeStatsStreamResponse\nProbeStreamRequest\nProbeStreamResponse\nProbeService\nProbeStatsService\nTop\narista/connectivitymonitor.v1/connectivitymonitor.proto Probe Probe is identifying information of a connectivity monitor probe. It is used to retrieve probe information without getting the corresponding stats so that probe information can be displayed without streaming all related data, such as in the UI.\nField Name Type Description key ProbeKey key uniquely identifies the connectivity monitor probe.\nip_addr google.protobuf.StringValue ip_addr is the IP Address of the probe.\nhost_name google.protobuf.StringValue host_name is the name of the host of the probe.\ndescription google.protobuf.StringValue description is the description of the probe.\nProbeKey ProbeKey uniquely identifies a connectivity monitor probe.\nField Name Type Description device_id google.protobuf.StringValue device_id is the id of the device in the probe.\nhost google.protobuf.StringValue host is the hostname used in the probe.\nvrf google.protobuf.StringValue vrf is the name of the VRF in the probe.\nProbeStats ProbeStats is the connectivity monitor statistics related to the specified probe.\nField Name Type Description key ProbeStatsKey key uniquely identifies the connectivity monitor probe.\nlatency_millis google.protobuf.DoubleValue latency_millis is the latency between the device interface and the host.\nValue is in milliseconds.\njitter_millis google.protobuf.DoubleValue jitter_millis is the amount of jitter experienced by requests\nbetween the device interface and host.\nValue is in milliseconds.\nhttp_response_time_millis google.protobuf.DoubleValue http_response_time_millis is the amount of time taken to respond to a http\nrequest between the device interface and the host.\nValue is in milliseconds.\npacket_loss_percent google.protobuf.Int64Value packet_loss_percent is the amount of packet loss experienced\nby requests between the device interface and host.\nValue is a percentage.\nerror google.protobuf.StringValue error is the error reported on the connection.\nProbeStatsKey ProbeStatsKey uniquely identifies a connectivity monitor probe\u0026rsquo;s statistics, per source interface.\nField Name Type Description device_id google.protobuf.StringValue device_id is the id of the device in the probe.\nhost google.protobuf.StringValue host is the hostname used in the probe.\nvrf google.protobuf.StringValue vrf is the name of the VRF in the probe.\nsource_intf google.protobuf.StringValue source_intf is the name of the interface in the probe.\nTop\narista/connectivitymonitor.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nProbeBatchedStreamRequest Field Name Type Description partial_eq_filter Probe[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Probe at end.\n* Each Probe response is fully-specified (all fields set).\n* start: Returns the state of each Probe at start, followed by updates until now.\n* Each Probe response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Probe at start, followed by updates\nuntil end.\n* Each Probe response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nProbeBatchedStreamResponse Field Name Type Description responses ProbeStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nProbeRequest Field Name Type Description key ProbeKey Key uniquely identifies a Probe instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeResponse Field Name Type Description value Probe Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nProbe instance in this response.\nProbeSomeRequest Field Name Type Description keys ProbeKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeSomeResponse Field Name Type Description value Probe Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ProbeStatsBatchedStreamRequest Field Name Type Description partial_eq_filter ProbeStats[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProbeStats at end.\n* Each ProbeStats response is fully-specified (all fields set).\n* start: Returns the state of each ProbeStats at start, followed by updates until now.\n* Each ProbeStats response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProbeStats at start, followed by updates\nuntil end.\n* Each ProbeStats response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nProbeStatsBatchedStreamResponse Field Name Type Description responses ProbeStatsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nProbeStatsRequest Field Name Type Description key ProbeStatsKey Key uniquely identifies a ProbeStats instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeStatsResponse Field Name Type Description value ProbeStats Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nProbeStats instance in this response.\nProbeStatsSomeRequest Field Name Type Description keys ProbeStatsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProbeStatsSomeResponse Field Name Type Description value ProbeStats Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ProbeStatsStreamRequest Field Name Type Description partial_eq_filter ProbeStats[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProbeStats at end.\n* Each ProbeStats response is fully-specified (all fields set).\n* start: Returns the state of each ProbeStats at start, followed by updates until now.\n* Each ProbeStats response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProbeStats at start, followed by updates\nuntil end.\n* Each ProbeStats response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nProbeStatsStreamResponse Field Name Type Description value ProbeStats Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ProbeStats\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ProbeStats value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nProbeStreamRequest Field Name Type Description partial_eq_filter Probe[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Probe at end.\n* Each Probe response is fully-specified (all fields set).\n* start: Returns the state of each Probe at start, followed by updates until now.\n* Each Probe response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Probe at start, followed by updates\nuntil end.\n* Each Probe response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nProbeStreamResponse Field Name Type Description value Probe Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Probe\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Probe value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nProbeService Method Name Request Type Response Type Description GetOne ProbeRequest ProbeResponse GetSome ProbeSomeRequest ProbeSomeResponse stream GetAll ProbeStreamRequest ProbeStreamResponse stream Subscribe ProbeStreamRequest ProbeStreamResponse stream GetMeta ProbeStreamRequest MetaResponse SubscribeMeta ProbeStreamRequest MetaResponse stream GetAllBatched ProbeBatchedStreamRequest ProbeBatchedStreamResponse stream SubscribeBatched ProbeBatchedStreamRequest ProbeBatchedStreamResponse stream ProbeStatsService Method Name Request Type Response Type Description GetOne ProbeStatsRequest ProbeStatsResponse GetSome ProbeStatsSomeRequest ProbeStatsSomeResponse stream GetAll ProbeStatsStreamRequest ProbeStatsStreamResponse stream Subscribe ProbeStatsStreamRequest ProbeStatsStreamResponse stream GetMeta ProbeStatsStreamRequest MetaResponse SubscribeMeta ProbeStatsStreamRequest MetaResponse stream GetAllBatched ProbeStatsBatchedStreamRequest ProbeStatsBatchedStreamResponse stream SubscribeBatched ProbeStatsBatchedStreamRequest ProbeStatsBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/dashboard.v1/","title":"dashboard.v1","tags":[],"description":"","content":" arista/dashboard.v1/dashboard.proto\nDashboard DashboardConfig DashboardKey DashboardMetadata Dimensions Filter GlobalDashboardConfig Position Widget WidgetStyles Widgets arista/dashboard.v1/services.gen.proto\nDashboardBatchedStreamRequest\nDashboardBatchedStreamResponse\nDashboardConfigBatchedStreamRequest\nDashboardConfigBatchedStreamResponse\nDashboardConfigDeleteAllRequest\nDashboardConfigDeleteAllResponse\nDashboardConfigDeleteRequest\nDashboardConfigDeleteResponse\nDashboardConfigDeleteSomeRequest\nDashboardConfigDeleteSomeResponse\nDashboardConfigRequest\nDashboardConfigResponse\nDashboardConfigSetRequest\nDashboardConfigSetResponse\nDashboardConfigSetSomeRequest\nDashboardConfigSetSomeResponse\nDashboardConfigSomeRequest\nDashboardConfigSomeResponse\nDashboardConfigStreamRequest\nDashboardConfigStreamResponse\nDashboardRequest\nDashboardResponse\nDashboardSomeRequest\nDashboardSomeResponse\nDashboardStreamRequest\nDashboardStreamResponse\nGlobalDashboardConfigBatchedStreamRequest\nGlobalDashboardConfigBatchedStreamResponse\nGlobalDashboardConfigRequest\nGlobalDashboardConfigResponse\nGlobalDashboardConfigSetRequest\nGlobalDashboardConfigSetResponse\nGlobalDashboardConfigStreamRequest\nGlobalDashboardConfigStreamResponse\nMetaResponse\nDashboardConfigService\nDashboardService\nGlobalDashboardConfigService\nTop\narista/dashboard.v1/dashboard.proto Dashboard Dashboard state contains all dashboard data.\nField Name Type Description key DashboardKey key is the unique identifier. It will always be defined.\ncreated_at google.protobuf.Timestamp created_at represents the date the dashboard was first created.\nOld dashboards may not have this field set.\ncreated_by google.protobuf.StringValue created_by keeps the name of the user who first created this dashboard.\nOld dashboards may not have this field set.\nlast_modified_at google.protobuf.Timestamp last_modified_at holds the timestamp this dashboard was last updated by an user.\nOld dashboards may not have this field set.\nlast_modified_by google.protobuf.StringValue last_modified_by holds the username who last updated this dashboard.\nOld dashboards may not have this field set.\nmeta_data DashboardMetadata meta_data includes version metadata about the dashboard.\nname google.protobuf.StringValue name is the dashboard name, displayed at the top of the dashboard.\ndescription google.protobuf.StringValue description may include details about what is displayed in the dashboard.\nwidgets Widgets widgets list of widgets in the dashboard.\nDashboardConfig DashboardConfig includes all user-editable dashboard fields.\nField Name Type Description key DashboardKey key is the unique identifier. It always must be defined.\nIf set, will create or update a dashboard.\nname google.protobuf.StringValue name is the dashboard name, displayed at the top of the dashboard.\ndescription google.protobuf.StringValue description may include details about what is displayed in the dashboard.\nwidgets Widgets widgets list of widgets in the dashboard.\nDashboardKey DashboardKey represents the dashboard unique identifier.\nField Name Type Description dashboard_id google.protobuf.StringValue dashboard_id holds the id of the dashboard\nDashboardMetadata DashboardMetadata includes versioning metadata. All the data here is managed internally, and is read-only.\nField Name Type Description schema_version google.protobuf.StringValue schema_version is managed internally.\nlegacy_key google.protobuf.StringValue legacy_key holds the key of a previous version of the dashboard, in case it was migrated.\nlegacy_version google.protobuf.StringValue legacy_version tells from which version the dashboard was migrated from.\nfrom_package google.protobuf.StringValue from_package records the contributing package key and version, if applicable.\nDimensions Dimensions represents the dimensions in cells of the widgets in the UI.\nField Name Type Description width google.protobuf.UInt32Value width of the widget in the UI, represented in number of cells.\nheight google.protobuf.UInt32Value height of the widget in the UI, represented in number of cells.\nFilter Filter is used to filter dashboards for non exact match cases.\nField Name Type Description tags fmp.RepeatedString tags includes the values to be matched in the dashboard description.\nTags are matched by word. Generally, a tag is prefixed by a \u0026lsquo;#\u0026rsquo;,\nwhich must be omitted when provided here.\nAll provided tags must match inside a dashboard for it to be returned.\nE.g., to match \u0026ldquo;#devices\u0026rdquo;, the tag should be set to \u0026ldquo;devices\u0026rdquo;.\nGlobalDashboardConfig GlobalDashboardConfig holds global configs related to Dashboards.\nField Name Type Description default_dashboard DashboardKey default_dashboard is the default dashboard shown to a user.\nTo unset, use an empty key ({dashboard_id: nil}) in a Set() call.\nPosition Position represents a cell position in the UI.\nField Name Type Description x google.protobuf.UInt32Value x represents a position in the horizontal axis.\ny google.protobuf.UInt32Value y represents a position in the vertical axis.\nWidget Widget is used to create a dashboard. Each widget is responsible to display some type of data.\nField Name Type Description id google.protobuf.StringValue id holds the unique identifier for the widget inside a dashboard\nname google.protobuf.StringValue name of the widget is displayed at the top of the widget.\nposition Position position of the widget, represented as a (x,y) coordinate in a grid.\nTop left is at (0,0).\ndimensions Dimensions dimensions of the widget represents how many cell in the grid it takes.\ntype google.protobuf.StringValue type is the widget type. Each type is handled differently in the UI,\nand can use different inputs.\ninputs google.protobuf.StringValue inputs contains metadata about the data the widget will display, encoded in a JSON string.\nInternal data vary based on the widget type type and is managed by the client.\nlocation google.protobuf.StringValue location is used as a position display hint, used and managed by the UI.\nstyles WidgetStyles styles represents the widget\u0026rsquo;s panel appearance.\nparent google.protobuf.StringValue parent stores the id of its parent widget.\nWidgetStyles WidgetStyles represents the widget\u0026rsquo;s panel appearance.\nField Name Type Description hide_title google.protobuf.BoolValue hide_title is used to hint the dashboard that the widget title must be hidden.\nbackground_color google.protobuf.StringValue background_color is used to set the widget\u0026rsquo;s background color.\nhide_horizontal_bar google.protobuf.BoolValue hide_horizontal_bar is used to hint the dashboard that the title separator must be hidden.\ntitle_size google.protobuf.UInt32Value title_size is used to set widget\u0026rsquo;s title size.\nWidgets Widgets holds a list of Widgets.\nField Name Type Description values Widget[\u0026hellip;] values holds a list of widgets\nTop\narista/dashboard.v1/services.gen.proto DashboardBatchedStreamRequest Field Name Type Description partial_eq_filter Dashboard[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter[\u0026hellip;] For each Dashboard in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Dashboard is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Dashboard at end.\n* Each Dashboard response is fully-specified (all fields set).\n* start: Returns the state of each Dashboard at start, followed by updates until now.\n* Each Dashboard response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Dashboard at start, followed by updates\nuntil end.\n* Each Dashboard response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDashboardBatchedStreamResponse Field Name Type Description responses DashboardStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDashboardConfigBatchedStreamRequest Field Name Type Description partial_eq_filter DashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DashboardConfig at end.\n* Each DashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each DashboardConfig at start, followed by updates until now.\n* Each DashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DashboardConfig at start, followed by updates\nuntil end.\n* Each DashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDashboardConfigBatchedStreamResponse Field Name Type Description responses DashboardConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDashboardConfigDeleteAllRequest Field Name Type Description partial_eq_filter DashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nDashboardConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey DashboardKey This is the key of the DashboardConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nDashboardConfigDeleteRequest Field Name Type Description key DashboardKey Key indicates which DashboardConfig instance to remove.\nThis field must always be set.\nDashboardConfigDeleteResponse Field Name Type Description key DashboardKey Key echoes back the key of the deleted DashboardConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nDashboardConfigDeleteSomeRequest Field Name Type Description keys DashboardKey[\u0026hellip;] key contains a list of DashboardConfig keys to delete\nDashboardConfigDeleteSomeResponse DashboardConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key DashboardKey error string DashboardConfigRequest Field Name Type Description key DashboardKey Key uniquely identifies a DashboardConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardConfigResponse Field Name Type Description value DashboardConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDashboardConfig instance in this response.\nDashboardConfigSetRequest Field Name Type Description value DashboardConfig DashboardConfig carries the value to set into the datastore.\nSee the documentation on the DashboardConfig struct for which fields are required.\nDashboardConfigSetResponse Field Name Type Description value DashboardConfig Value carries all the values given in the DashboardConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nDashboardConfigSetSomeRequest Field Name Type Description values DashboardConfig[\u0026hellip;] value contains a list of DashboardConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nDashboardConfigSetSomeResponse Field Name Type Description key DashboardKey error string DashboardConfigSomeRequest Field Name Type Description keys DashboardKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardConfigSomeResponse Field Name Type Description value DashboardConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DashboardConfigStreamRequest Field Name Type Description partial_eq_filter DashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DashboardConfig at end.\n* Each DashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each DashboardConfig at start, followed by updates until now.\n* Each DashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DashboardConfig at start, followed by updates\nuntil end.\n* Each DashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDashboardConfigStreamResponse Field Name Type Description value DashboardConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DashboardConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DashboardConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDashboardRequest Field Name Type Description key DashboardKey Key uniquely identifies a Dashboard instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardResponse Field Name Type Description value Dashboard Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDashboard instance in this response.\nDashboardSomeRequest Field Name Type Description keys DashboardKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDashboardSomeResponse Field Name Type Description value Dashboard Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DashboardStreamRequest Field Name Type Description partial_eq_filter Dashboard[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\nfilter Filter[\u0026hellip;] For each Dashboard in the list, all populated fields are considered ANDed together\nas a filtering operation. Similarly, the list itself is ORed such that any individual\nfilter that matches a given Dashboard is streamed to the user.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Dashboard at end.\n* Each Dashboard response is fully-specified (all fields set).\n* start: Returns the state of each Dashboard at start, followed by updates until now.\n* Each Dashboard response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Dashboard at start, followed by updates\nuntil end.\n* Each Dashboard response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDashboardStreamResponse Field Name Type Description value Dashboard Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Dashboard\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Dashboard value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nGlobalDashboardConfigBatchedStreamRequest Field Name Type Description partial_eq_filter GlobalDashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each GlobalDashboardConfig at end.\n* Each GlobalDashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each GlobalDashboardConfig at start, followed by updates until now.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each GlobalDashboardConfig at start, followed by updates\nuntil end.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nGlobalDashboardConfigBatchedStreamResponse Field Name Type Description responses GlobalDashboardConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nGlobalDashboardConfigRequest Field Name Type Description time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nGlobalDashboardConfigResponse Field Name Type Description value GlobalDashboardConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nGlobalDashboardConfig instance in this response.\nGlobalDashboardConfigSetRequest Field Name Type Description value GlobalDashboardConfig GlobalDashboardConfig carries the value to set into the datastore.\nSee the documentation on the GlobalDashboardConfig struct for which fields are required.\nGlobalDashboardConfigSetResponse Field Name Type Description value GlobalDashboardConfig Value carries all the values given in the GlobalDashboardConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nGlobalDashboardConfigStreamRequest Field Name Type Description partial_eq_filter GlobalDashboardConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each GlobalDashboardConfig at end.\n* Each GlobalDashboardConfig response is fully-specified (all fields set).\n* start: Returns the state of each GlobalDashboardConfig at start, followed by updates until now.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each GlobalDashboardConfig at start, followed by updates\nuntil end.\n* Each GlobalDashboardConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nGlobalDashboardConfigStreamResponse Field Name Type Description value GlobalDashboardConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this GlobalDashboardConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the GlobalDashboardConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nDashboardConfigService Method Name Request Type Response Type Description GetOne DashboardConfigRequest DashboardConfigResponse GetSome DashboardConfigSomeRequest DashboardConfigSomeResponse stream GetAll DashboardConfigStreamRequest DashboardConfigStreamResponse stream Subscribe DashboardConfigStreamRequest DashboardConfigStreamResponse stream GetMeta DashboardConfigStreamRequest MetaResponse SubscribeMeta DashboardConfigStreamRequest MetaResponse stream Set DashboardConfigSetRequest DashboardConfigSetResponse SetSome DashboardConfigSetSomeRequest DashboardConfigSetSomeResponse stream Delete DashboardConfigDeleteRequest DashboardConfigDeleteResponse DeleteSome DashboardConfigDeleteSomeRequest DashboardConfigDeleteSomeResponse stream DeleteAll DashboardConfigDeleteAllRequest DashboardConfigDeleteAllResponse stream GetAllBatched DashboardConfigBatchedStreamRequest DashboardConfigBatchedStreamResponse stream SubscribeBatched DashboardConfigBatchedStreamRequest DashboardConfigBatchedStreamResponse stream DashboardService Method Name Request Type Response Type Description GetOne DashboardRequest DashboardResponse GetSome DashboardSomeRequest DashboardSomeResponse stream GetAll DashboardStreamRequest DashboardStreamResponse stream Subscribe DashboardStreamRequest DashboardStreamResponse stream GetMeta DashboardStreamRequest MetaResponse SubscribeMeta DashboardStreamRequest MetaResponse stream GetAllBatched DashboardBatchedStreamRequest DashboardBatchedStreamResponse stream SubscribeBatched DashboardBatchedStreamRequest DashboardBatchedStreamResponse stream GlobalDashboardConfigService Method Name Request Type Response Type Description GetOne GlobalDashboardConfigRequest GlobalDashboardConfigResponse GetAll GlobalDashboardConfigStreamRequest GlobalDashboardConfigStreamResponse stream Subscribe GlobalDashboardConfigStreamRequest GlobalDashboardConfigStreamResponse stream SubscribeMeta GlobalDashboardConfigStreamRequest MetaResponse stream Set GlobalDashboardConfigSetRequest GlobalDashboardConfigSetResponse GetAllBatched GlobalDashboardConfigBatchedStreamRequest GlobalDashboardConfigBatchedStreamResponse stream SubscribeBatched GlobalDashboardConfigBatchedStreamRequest GlobalDashboardConfigBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/endpointlocation.v1/","title":"endpointlocation.v1","tags":[],"description":"","content":" arista/endpointlocation.v1/endpointlocation.proto\nDevice\nDeviceInfo\nDeviceMap\nDeviceMap.ValuesEntry\nEndpointLocation\nEndpointLocationKey\nExplanationList\nIdentifier\nIdentifierList\nIdentifierSourceList\nLocation\nLocationList\nDeviceStatus\nDeviceType\nExplanation\nIdentifierSource\nIdentifierType\nLikelihood\nMacType\narista/endpointlocation.v1/services.gen.proto\nEndpointLocationBatchedStreamRequest\nEndpointLocationBatchedStreamResponse\nEndpointLocationRequest\nEndpointLocationResponse\nEndpointLocationSomeRequest\nEndpointLocationSomeResponse\nEndpointLocationStreamRequest\nEndpointLocationStreamResponse\nMetaResponse\nEndpointLocationService\nTop\narista/endpointlocation.v1/endpointlocation.proto Device Device holds information for a device matching a search term.\nField Name Type Description identifier_list IdentifierList identifier_list holds the unique identifiers for the device.\ndevice_type DeviceType device_type is the broad category of the device.\nlocation_list LocationList location_list is the list of possible locations of the device.\nIt is ordered from most likely to least likely.\ndevice_status DeviceStatus device_status is the network status of the device.\ndevice_info DeviceInfo device_info holds various attributes of the device.\nDeviceInfo DeviceInfo holds various attributes of a device (typically an endpoint) from Fingerbank.\nField Name Type Description device_name google.protobuf.StringValue device_name is the name of the device.\nmobile google.protobuf.BoolValue mobile indicates whether the device is a mobile.\ntablet google.protobuf.BoolValue tablet indicates whether the device is a tablet.\nscore google.protobuf.UInt32Value score is a value from 0 to 100 that indicates how confident we are\nthat the device has device_name.\nFingerbank API documentation of score: https://api.fingerbank.org/api_doc/2/combinations.html\nversion google.protobuf.StringValue version is the version of device_name.\nmac_vendor google.protobuf.StringValue mac_vendor is the enterprise that assigns the MAC address of the device.\nclassification google.protobuf.StringValue classification is the broadest category to which device_name belongs.\nThis is the highest level in hierarchy.\nhierarchy fmp.RepeatedString hierarchy is a list of categorizations of the device from most broad\nto most specific. The first element is always classification and the\nlast element is always device_name.\nFor example,\n[\u0026ldquo;VoIP Device\u0026rdquo;, \u0026ldquo;FooInc VoIP\u0026rdquo;, \u0026ldquo;FooInc PhoneSet IP\u0026rdquo;, \u0026ldquo;FooInc PhoneSet IP Model123\u0026rdquo;]\nIn this hierarchy, \u0026ldquo;VoIP Device\u0026rdquo; is classification and \u0026ldquo;FooInc PhoneSet IP Model123\u0026rdquo;\nis device_name.\nDeviceMap DeviceMap is a collection of Device.\nField Name Type Description values DeviceMap.ValuesEntry[\u0026hellip;] values is a map from most specific identifier to Device.\nThe key could be device serial number or MAC address.\nDeviceMap.ValuesEntry Field Name Type Description key string value Device EndpointLocation EndpointLocation is the entrypoint to searching for endpoints.\nField Name Type Description key EndpointLocationKey key holds a search term used to locate an endpoint.\ndevice_map DeviceMap device_map holds the devices (and their potential locations)\nthat match the search term.\nEndpointLocationKey EndpointLocationKey holds a search term used to locate an endpoint.\nField Name Type Description search_term google.protobuf.StringValue search_term is used to match against identifiers on devices.\nThis could be a MAC/IP address, hostname, etc.\nExplanationList ExplanationList is a list of Explanation.\nField Name Type Description values Explanation[\u0026hellip;] values is a list of unique Explanation. Currently, this will\nalways contain one value, but in the future it may contain\nmore.\nIdentifier Identifier holds device identification information.\nField Name Type Description type IdentifierType type is the identifier type corresponding to value.\nvalue google.protobuf.StringValue value is the string representation of the identifier. Its interpretation\ndepends on type.\nsource_list IdentifierSourceList source_list is the set of sources where this identifier was discovered.\nIdentifierList IdentifierList is a list of Identifier.\nField Name Type Description values Identifier[\u0026hellip;] values is an unordered list of Identifier where each Identifier has a\nunique type and value combination.\nIdentifierSourceList IdentifierSourceList is a list of IdentifierSource.\nField Name Type Description values IdentifierSource[\u0026hellip;] values is an unordered list of unique IdentifierSource.\nLocation Location is a port (device_id, interface, vlan_id) on which at least one identifier has been discovered.\nField Name Type Description device_id google.protobuf.StringValue device_id identifies the device of the port.\ndevice_status DeviceStatus device_status is the status of the device identified by device_id.\ninterface google.protobuf.StringValue interface is the interface of the port.\nvlan_id google.protobuf.UInt32Value vlan_id identifies the VLAN of the port.\nlearned_time google.protobuf.Timestamp learned_time is when the port learned its identifiers.\nmac_type MacType mac_type is how the port learned its MAC address identifier.\nlikelihood Likelihood likelihood is the probability level that the port is directly connected\nto the queried endpoint.\nexplanation_list ExplanationList explanation_list holds the reasons that the port was assigned likelihood.\nidentifier_list IdentifierList identifier_list holds the discovered identifiers of the port.\nLocationList LocationList is a list of Location.\nField Name Type Description values Location[\u0026hellip;] values is a list of unique Location.\nDeviceStatus DeviceStatus is the network status of a device.\nName Number Description DEVICE_STATUS_UNSPECIFIED 0 DEVICE_STATUS_UNSPECIFIED is the default unspecified device status.\nDEVICE_STATUS_ACTIVE 1 DEVICE_STATUS_ACTIVE indicates a device is streaming its telemetry data\nto CloudVision.\nDEVICE_STATUS_INACTIVE 2 DEVICE_STATUS_INACTIVE indicates a device is either not streaming its\ntelemetry data to CloudVision or has been decommissioned from CloudVision.\nDeviceType DeviceType defines a broad set of categories for all queried devices.\nName Number Description DEVICE_TYPE_UNSPECIFIED 0 DEVICE_TYPE_UNSPECIFIED is the default unspecified device type.\nDEVICE_TYPE_INVENTORY 1 DEVICE_TYPE_INVENTORY indicates a device in the CloudVision inventory.\nDEVICE_TYPE_ENDPOINT 2 DEVICE_TYPE_ENDPOINT indicates a non-WiFi endpoint that does not exist\nin the CloudVision inventory.\nDEVICE_TYPE_WIFI_ENDPOINT 3 DEVICE_TYPE_WIFI_ENDPOINT indicates a WiFi client/endpoint that does not\nexist in the CloudVision inventory.\nExplanation Explanation defines the set of reasons for why a location has a certain likelihood. Some explanations apply to queried endpoints while others apply to queried devices in the CloudVision device inventory.\nName Number Description EXPLANATION_UNSPECIFIED 0 EXPLANATION_UNSPECIFIED is the default unspecified explanation.\nEXPLANATION_DIRECT_CONNECTION 1 EXPLANATION_DIRECT_CONNECTION indicates a direct connection to the queried\nendpoint device discovered via LLDP.\nEXPLANATION_NON_INVENTORY_CONNECTION 2 EXPLANATION_NON_INVENTORY_CONNECTION indicates a direct connection to at least\none non-inventory device (likely discovered via LLDP).\nEXPLANATION_NO_CONNECTION 3 EXPLANATION_NO_CONNECTION indicates that a location has no direct connection to\nany known device.\nEXPLANATION_INVENTORY_CONNECTION 4 EXPLANATION_INVENTORY_CONNECTION indicates that all of a location\u0026rsquo;s known connections\nare to devices in the inventory.\nEXPLANATION_OWN_PORT_INVENTORY_DEVICE 5 EXPLANATION_OWN_PORT_INVENTORY_DEVICE indicates a location on the queried inventory\ndevice itself.\nEXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE 6 EXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE indicates a direct connection to the\nqueried inventory device discovered via LLDP.\nEXPLANATION_NO_CONNECTION_INVENTORY_DEVICE 7 EXPLANATION_NO_CONNECTION_INVENTORY_DEVICE indicates that a location has no direct\nconnection to any known device (for queried inventory devices).\nEXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE 8 EXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE indicates that a location only has\nconnections to other devices besides the queried inventory device.\nEXPLANATION_VIRTUAL 9 EXPLANATION_VIRTUAL indicates that a location contains a virtual interface.\nEXPLANATION_WIRELESS_CONNECTION 10 EXPLANATION_WIRELESS_CONNECTION indicates a direct connection from a wireless access\npoint in the device inventory to a wireless client.\nEXPLANATION_ACCESS_PORT 11 EXPLANATION_ACCESS_PORT indicates that a location is an access port.\nIdentifierSource IdentifierSource defines the set of network protocols and other information sources where an identifier was found.\nName Number Description IDENTIFIER_SOURCE_UNSPECIFIED 0 IDENTIFIER_SOURCE_UNSPECIFIED is the default unspecified identifier source.\nIDENTIFIER_SOURCE_FDB 1 IDENTIFIER_SOURCE_FDB indicates a forwarding table.\nIDENTIFIER_SOURCE_ARP 2 IDENTIFIER_SOURCE_ARP indicates ARP (IPv4).\nIDENTIFIER_SOURCE_NEIGHBOR 3 IDENTIFIER_SOURCE_NEIGHBOR indicates NDP (IPv6).\nIDENTIFIER_SOURCE_DEVICE_INVENTORY 4 IDENTIFIER_SOURCE_DEVICE_INVENTORY indicates that an endpoint is in the\nCloudVision inventory.\nIDENTIFIER_SOURCE_LLDP 5 IDENTIFIER_SOURCE_LLDP indicates LLDP.\nIDENTIFIER_SOURCE_DHCP 6 IDENTIFIER_SOURCE_DHCP indicates DHCP.\nIDENTIFIER_SOURCE_WIFI 7 IDENTIFIER_SOURCE_WIFI indicates a WiFi endpoint that was learned through\na wireless manager.\nIdentifierType IdentifierType defines the set of ways for identifying endpoints.\nName Number Description IDENTIFIER_TYPE_UNSPECIFIED 0 IDENTIFIER_TYPE_UNSPECIFIED is the default unspecified identifier.\nIDENTIFIER_TYPE_MAC_ADDR 1 IDENTIFIER_TYPE_MAC_ADDR indicates a MAC address identifier.\nIDENTIFIER_TYPE_IPV4_ADDR 2 IDENTIFIER_TYPE_IPV4_ADDR indicates an IPv4 address identifier.\nIDENTIFIER_TYPE_IPV6_ADDR 3 IDENTIFIER_TYPE_IPV6_ADDR indicates an IPv6 address identifier.\nIDENTIFIER_TYPE_INVENTORY_DEVICE_ID 4 IDENTIFIER_TYPE_INVENTORY_DEVICE_ID indicates an inventory device identifier.\nIDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP 5 IDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP indicates a primary management IP identifier.\nIDENTIFIER_TYPE_HOSTNAME 6 IDENTIFIER_TYPE_HOSTNAME indicates a hostname identifier.\nIDENTIFIER_TYPE_USERNAME 7 IDENTIFIER_TYPE_USERNAME indicates a username identifier.\nIDENTIFIER_TYPE_OTHER 99999 IDENTIFIER_TYPE_OTHER is used for an unknown identifier.\nLikelihood Likelihood indicates a level of confidence.\nName Number Description LIKELIHOOD_UNSPECIFIED 0 LIKELIHOOD_UNSPECIFIED is the default unspecified likelihood.\nLIKELIHOOD_VERY_LIKELY 1 LIKELIHOOD_VERY_LIKELY indicates very high confidence.\nLIKELIHOOD_LIKELY 2 LIKELIHOOD_LIKELY indicates high confidence.\nLIKELIHOOD_SOMEWHAT_LIKELY 3 LIKELIHOOD_SOMEWHAT_LIKELY indicates medium confidence.\nLIKELIHOOD_LESS_LIKELY 4 LIKELIHOOD_LESS_LIKELY indicates low confidence.\nMacType MacType describes how the MAC address was learned on the port location.\nName Number Description MAC_TYPE_UNSPECIFIED 0 MAC_TYPE_UNSPECIFIED is the default unspecified MAC type.\nMAC_TYPE_LEARNED_DYNAMIC 1 MAC_TYPE_LEARNED_DYNAMIC indicates a MAC that is dynamically learned in hardware.\nMAC_TYPE_LEARNED_SECURE 2 MAC_TYPE_LEARNED_SECURE indicates a MAC that is learned in hardware on a port-security protect interface.\nMAC_TYPE_CONFIGURED_DYNAMIC 3 MAC_TYPE_CONFIGURED_DYNAMIC indicates a configured dynamic MAC.\nMAC_TYPE_CONFIGURED_SECURE 4 MAC_TYPE_CONFIGURED_SECURE indicates a MAC configured on an interface with Port Security: Protect mode enabled\nMAC_TYPE_CONFIGURED_STATIC 5 MAC_TYPE_CONFIGURED_STATIC indicates a statically configured MAC.\nMAC_TYPE_PEER_DYNAMIC 6 MAC_TYPE_PEER_DYNAMIC indicates a dynamically learned MAC discovered via an MLAG peer.\nMAC_TYPE_PEER_STATIC 7 MAC_TYPE_PEER_STATIC indicates a statically configured MAC discovered via an MLAG peer.\nMAC_TYPE_PEER_SECURE 8 MAC_TYPE_PEER_SECURE indicates a secure MAC learned from an MLAG peer.\nMAC_TYPE_LEARNED_REMOTE 9 MAC_TYPE_LEARNED_REMOTE indicates a MAC learned remotely behind a VxLAN VTEP.\nMAC_TYPE_CONFIGURED_REMOTE 10 MAC_TYPE_CONFIGURED_REMOTE indicates a MAC configured behind a VxLAN VTEP.\nMAC_TYPE_RECEIVED_REMOTE 11 MAC_TYPE_RECEIVED_REMOTE indicates a MAC received from a VxLAN controller.\nMAC_TYPE_PEER_LEARNED_REMOTE 12 MAC_TYPE_PEER_LEARNED_REMOTE indicates a remote MAC learned on a peer VTEP.\nMAC_TYPE_PEER_CONFIGURED_REMOTE 13 MAC_TYPE_PEER_CONFIGURED_REMOTE indicates an MLAG peer configured remote MAC.\nMAC_TYPE_PEER_RECEIVED_REMOTE 14 MAC_TYPE_PEER_RECEIVED_REMOTE indicates a remote MAC received from a VxLAN controller by the MLAG peer.\nMAC_TYPE_EVPN_DYNAMIC_REMOTE 15 MAC_TYPE_EVPN_DYNAMIC_REMOTE indicates an EVPN dynamic remote MAC.\nMAC_TYPE_EVPN_CONFIGURED_REMOTE 16 MAC_TYPE_EVPN_CONFIGURED_REMOTE indicates an EVPN configured remote MAC.\nMAC_TYPE_PEER_EVPN_REMOTE 17 MAC_TYPE_PEER_EVPN_REMOTE indicates an MLAG peer EVPN remote MAC.\nMAC_TYPE_CONFIGURED_ROUTER 18 MAC_TYPE_CONFIGURED_ROUTER indicates a configured MAC used in routing.\nMAC_TYPE_PEER_ROUTER 19 MAC_TYPE_PEER_ROUTER indicates an MLAG peer specific router MAC.\nMAC_TYPE_EVPN_INTF_DYNAMIC 20 MAC_TYPE_EVPN_INTF_DYNAMIC indicates a MAC advertised by EVPN when a dynamic MAC is learned on ESI (Ethernet Segment Identifier).\nMAC_TYPE_EVPN_INTF_STATIC 21 MAC_TYPE_EVPN_INTF_STATIC indicates a MAC configured on EVPN ESI.\nMAC_TYPE_AUTHENTICATED 22 MAC_TYPE_AUTHENTICATED indicates a MAC authenticated via 802.1X.\nMAC_TYPE_PEER_AUTHENTICATED 23 MAC_TYPE_PEER_AUTHENTICATED indicates a MAC authenticated by 802.1X and learned on an MLAG peer.\nMAC_TYPE_PENDING_SECURE 24 MAC_TYPE_PENDING_SECURE indicates a secure MAC in a pending state.\nMAC_TYPE_SOFTWARE_LEARNED_DYNAMIC 25 MAC_TYPE_SOFTWARE_LEARNED_DYNAMIC indicates a MAC learned behind VTEP in software in the case of a VxLAN remote MAC.\nMAC_TYPE_OTHER 99999 MAC_TYPE_OTHER is used for capturing future MAC types.\nTop\narista/endpointlocation.v1/services.gen.proto EndpointLocationBatchedStreamRequest Field Name Type Description partial_eq_filter EndpointLocation[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each EndpointLocation at end.\n* Each EndpointLocation response is fully-specified (all fields set).\n* start: Returns the state of each EndpointLocation at start, followed by updates until now.\n* Each EndpointLocation response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each EndpointLocation at start, followed by updates\nuntil end.\n* Each EndpointLocation response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nEndpointLocationBatchedStreamResponse Field Name Type Description responses EndpointLocationStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nEndpointLocationRequest Field Name Type Description key EndpointLocationKey Key uniquely identifies a EndpointLocation instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEndpointLocationResponse Field Name Type Description value EndpointLocation Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nEndpointLocation instance in this response.\nEndpointLocationSomeRequest Field Name Type Description keys EndpointLocationKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEndpointLocationSomeResponse Field Name Type Description value EndpointLocation Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp EndpointLocationStreamRequest Field Name Type Description partial_eq_filter EndpointLocation[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each EndpointLocation at end.\n* Each EndpointLocation response is fully-specified (all fields set).\n* start: Returns the state of each EndpointLocation at start, followed by updates until now.\n* Each EndpointLocation response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each EndpointLocation at start, followed by updates\nuntil end.\n* Each EndpointLocation response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nEndpointLocationStreamResponse Field Name Type Description value EndpointLocation Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this EndpointLocation\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the EndpointLocation value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nEndpointLocationService Method Name Request Type Response Type Description GetOne EndpointLocationRequest EndpointLocationResponse GetSome EndpointLocationSomeRequest EndpointLocationSomeResponse stream GetAll EndpointLocationStreamRequest EndpointLocationStreamResponse stream Subscribe EndpointLocationStreamRequest EndpointLocationStreamResponse stream GetMeta EndpointLocationStreamRequest MetaResponse SubscribeMeta EndpointLocationStreamRequest MetaResponse stream GetAllBatched EndpointLocationBatchedStreamRequest EndpointLocationBatchedStreamResponse stream SubscribeBatched EndpointLocationBatchedStreamRequest EndpointLocationBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/event.v1/","title":"event.v1","tags":[],"description":"","content":" arista/event.v1/event.proto\nEvent\nEventAck\nEventAnnotationConfig\nEventComponent\nEventComponent.ComponentsEntry\nEventComponents\nEventData\nEventData.DataEntry\nEventKey\nEventNote\nEventNoteConfig\nEventNotes\nEventNotes.NotesEntry\nEventNotesConfig\nEventNotesConfig.NotesEntry\nEventRead\nUserEventCreationConfig\nUserEventCreationKey\nComponentType\nEventSeverity\narista/event.v1/services.gen.proto\nEventAnnotationConfigDeleteAllRequest\nEventAnnotationConfigDeleteAllResponse\nEventAnnotationConfigDeleteRequest\nEventAnnotationConfigDeleteResponse\nEventAnnotationConfigDeleteSomeRequest\nEventAnnotationConfigDeleteSomeResponse\nEventAnnotationConfigRequest\nEventAnnotationConfigResponse\nEventAnnotationConfigSetRequest\nEventAnnotationConfigSetResponse\nEventAnnotationConfigSetSomeRequest\nEventAnnotationConfigSetSomeResponse\nEventAnnotationConfigSomeRequest\nEventAnnotationConfigSomeResponse\nEventAnnotationConfigStreamRequest\nEventAnnotationConfigStreamResponse\nEventRequest\nEventResponse\nEventSomeRequest\nEventSomeResponse\nEventStreamRequest\nEventStreamResponse\nMetaResponse\nUserEventCreationConfigDeleteAllRequest\nUserEventCreationConfigDeleteAllResponse\nUserEventCreationConfigDeleteRequest\nUserEventCreationConfigDeleteResponse\nUserEventCreationConfigDeleteSomeRequest\nUserEventCreationConfigDeleteSomeResponse\nUserEventCreationConfigRequest\nUserEventCreationConfigResponse\nUserEventCreationConfigSetRequest\nUserEventCreationConfigSetResponse\nUserEventCreationConfigSetSomeRequest\nUserEventCreationConfigSetSomeResponse\nUserEventCreationConfigSomeRequest\nUserEventCreationConfigSomeResponse\nUserEventCreationConfigStreamRequest\nUserEventCreationConfigStreamResponse\nEventAnnotationConfigService\nEventService\nUserEventCreationConfigService\nTop\narista/event.v1/event.proto Event Event is a telemetry event\nField Name Type Description key EventKey key is the event instance identifier\nseverity EventSeverity severity is the severity of the event\ntitle google.protobuf.StringValue title is the title of the event\ndescription google.protobuf.StringValue description is the description of the event\nevent_type google.protobuf.StringValue event_type is the type of the event\ndata EventData data is the data of the event\ncomponents EventComponents components is the components on which the event occurred\nack EventAck ack is the acknowledgement status of the event\nnotes EventNotes notes is the notes of the event\nlast_updated_time google.protobuf.Timestamp last_updated_time is the time of the most recent update to the event\nread EventRead read is the read status of the event\nrule_id google.protobuf.StringValue rule_id is the label of the rule associated with the event\nEventAck EventAck contains acknowledgement information of an event\nField Name Type Description ack google.protobuf.BoolValue ack is the acknowledgement state of an event\nacker google.protobuf.StringValue acker is the user that acknowledged the event\nack_time google.protobuf.Timestamp ack_time is the time of acknowledgement\nEventAnnotationConfig EventAnnotationConfig configures an event annotation\nNOTE: Either 1) key and ack or 2) key and notes or 3) key and read are required when used as an argument to Set.\nField Name Type Description key EventKey key is the event instance identifier\nack google.protobuf.BoolValue ack is the acknowledgement state of an event\nnotes EventNotesConfig notes is the notes on an event\nread google.protobuf.BoolValue read is the read state of an event. Setting this implies that an event has been read by a user\nEventComponent EventComponent describes an entity on which the event occurred\nField Name Type Description type ComponentType type is the type of component\ncomponents EventComponent.ComponentsEntry[\u0026hellip;] components identifies the entity on which the event occurred\nEventComponent.ComponentsEntry Field Name Type Description key string value string EventComponents EventComponents contains entities on which an event occurred\nField Name Type Description components EventComponent[\u0026hellip;] components describes the components on which an event occurred\nEventData EventData is additional event data\nField Name Type Description data EventData.DataEntry[\u0026hellip;] data is event data specific to the type of this event\nEventData.DataEntry Field Name Type Description key string value string EventKey EventKey uniquely identifies an event\nNOTE: All fields are required when used as an argument to GetOne, Set or Delete.\nField Name Type Description key google.protobuf.StringValue key is the event data identifier\ntimestamp google.protobuf.Timestamp timestamp is the time the event occurred\nEventNote EventNote is the state of a note\nField Name Type Description note google.protobuf.StringValue note is the text of the note\nnote_creator google.protobuf.StringValue note_creator is the creator of the note\nEventNoteConfig EventNoteConfig configures a note\nNOTE: note is required when used as an argument to Set.\nField Name Type Description note google.protobuf.StringValue note is the text of the note\nEventNotes EventNotes is the notes of an event state\nField Name Type Description notes EventNotes.NotesEntry[\u0026hellip;] notes is keyed by the time desired\nEventNotes.NotesEntry Field Name Type Description key int64 value EventNote EventNotesConfig EventNotesConfig configures the notes of an event\nNOTE: notes is required when used as an argument to Set.\nField Name Type Description notes EventNotesConfig.NotesEntry[\u0026hellip;] notes is keyed by desired note time in Unix time, in milliseconds\nEventNotesConfig.NotesEntry Field Name Type Description key int64 value EventNoteConfig EventRead EventRead contains read information of an event\nField Name Type Description read google.protobuf.BoolValue read is the read state of an event\nreader google.protobuf.StringValue reader is the user that read the event\nread_time google.protobuf.Timestamp read_time is the time of read\nUserEventCreationConfig UserEventCreationConfig is the basis for the manual creation of new events.\nNOTE: Set is the only valid operation. Objects are immediately deleted upon event creation. All fields are required to create a well-formed event.\nField Name Type Description key UserEventCreationKey key is the event instance identifier\nseverity EventSeverity severity is the severity of the event\ntitle google.protobuf.StringValue title is the title of the event\ndescription google.protobuf.StringValue description is the description of the event\nrule_id google.protobuf.StringValue rule_id is the label of the rule associated with the event\ncomponents EventComponents components is the components on which the event occurred\nstart_time google.protobuf.Timestamp start_time is the time point at which the event occurred\nUserEventCreationKey UserEventCreationKey uniquely identifies a user event request.\nField Name Type Description key google.protobuf.StringValue key is a unique string identifier\nComponentType ComponentType describes the type of entity on which the event occurred\nName Number Description COMPONENT_TYPE_UNSPECIFIED 0 COMPONENT_TYPE_UNSPECIFIED is the default value, if the type is not specified.\nCOMPONENT_TYPE_DEVICE 1 COMPONENT_TYPE_DEVICE is used for device events.\nCOMPONENT_TYPE_INTERFACE 2 COMPONENT_TYPE_INTERFACE is used for device interface events.\nCOMPONENT_TYPE_TURBINE 3 COMPONENT_TYPE_TURBINE is used for events on the internal CVP turbine\ncomponents. A turbine is an internal CV streaming analytics backend process.\nCOMPONENT_TYPE_VDS 4 COMPONENT_TYPE_VDS is used for VDS events.\nA vSphere Distributed Switch provides centralized management and\nmonitoring of the networking configuration of all workload servers that are\nassociated with the switch.\nCOMPONENT_TYPE_VDS_INTERFACE 5 COMPONENT_TYPE_VDS_INTERFACE is used for VDS interface events.\nCOMPONENT_TYPE_VM 6 COMPONENT_TYPE_VM is used for VM events.\nA VM is a software computer that, like a physical computer, runs an\noperating system and applications.\nCOMPONENT_TYPE_VM_INTERFACE 7 COMPONENT_TYPE_VM_INTERFACE is used for VM interface events.\nCOMPONENT_TYPE_WORKLOAD_SERVER 8 COMPONENT_TYPE_WORKLOAD_SERVER is used for workload server events.\nA workload server is a server/data storage device on which the hypervisor is installed.\nCOMPONENT_TYPE_WORKLOAD_SERVER_INTERFACE 9 COMPONENT_TYPE_WORKLOAD_SERVER_INTERFACE is used for workload server interface events.\nCOMPONENT_TYPE_APPLICATION 10 COMPONENT_TYPE_APPLICATION is used for application-service events.\nCOMPONENT_TYPE_CVP_NODE 11 COMPONENT_TYPE_CVP_NODE is used for CVP node events.\nEventSeverity EventSeverity is the severity level of the event\nName Number Description EVENT_SEVERITY_UNSPECIFIED 0 EVENT_SEVERITY_UNSPECIFIED is the default value, if the severity is not specified.\nEVENT_SEVERITY_INFO 1 EVENT_SEVERITY_INFO is used for generally useful information.\nEVENT_SEVERITY_WARNING 2 EVENT_SEVERITY_WARNING is used for potentially harmful conditions.\nEVENT_SEVERITY_ERROR 3 EVENT_SEVERITY_ERROR is used for errors events that may allow for continued functioning.\nEVENT_SEVERITY_CRITICAL 4 EVENT_SEVERITY_CRITICAL is used to designate severe errors that impede functioning.\nEVENT_SEVERITY_DEBUG 5 EVENT_SEVERITY_DEBUG is used for debugging useful information.\nTop\narista/event.v1/services.gen.proto EventAnnotationConfigDeleteAllRequest Field Name Type Description partial_eq_filter EventAnnotationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nEventAnnotationConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey EventKey This is the key of the EventAnnotationConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nEventAnnotationConfigDeleteRequest Field Name Type Description key EventKey Key indicates which EventAnnotationConfig instance to remove.\nThis field must always be set.\nEventAnnotationConfigDeleteResponse Field Name Type Description key EventKey Key echoes back the key of the deleted EventAnnotationConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nEventAnnotationConfigDeleteSomeRequest Field Name Type Description keys EventKey[\u0026hellip;] key contains a list of EventAnnotationConfig keys to delete\nEventAnnotationConfigDeleteSomeResponse EventAnnotationConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key EventKey error string EventAnnotationConfigRequest Field Name Type Description key EventKey Key uniquely identifies a EventAnnotationConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventAnnotationConfigResponse Field Name Type Description value EventAnnotationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nEventAnnotationConfig instance in this response.\nEventAnnotationConfigSetRequest Field Name Type Description value EventAnnotationConfig EventAnnotationConfig carries the value to set into the datastore.\nSee the documentation on the EventAnnotationConfig struct for which fields are required.\nEventAnnotationConfigSetResponse Field Name Type Description value EventAnnotationConfig Value carries all the values given in the EventAnnotationConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nEventAnnotationConfigSetSomeRequest Field Name Type Description values EventAnnotationConfig[\u0026hellip;] value contains a list of EventAnnotationConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nEventAnnotationConfigSetSomeResponse Field Name Type Description key EventKey error string EventAnnotationConfigSomeRequest Field Name Type Description keys EventKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventAnnotationConfigSomeResponse Field Name Type Description value EventAnnotationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp EventAnnotationConfigStreamRequest Field Name Type Description partial_eq_filter EventAnnotationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each EventAnnotationConfig at end.\n* Each EventAnnotationConfig response is fully-specified (all fields set).\n* start: Returns the state of each EventAnnotationConfig at start, followed by updates until now.\n* Each EventAnnotationConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each EventAnnotationConfig at start, followed by updates\nuntil end.\n* Each EventAnnotationConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nEventAnnotationConfigStreamResponse Field Name Type Description value EventAnnotationConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this EventAnnotationConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the EventAnnotationConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nEventRequest Field Name Type Description key EventKey Key uniquely identifies a Event instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventResponse Field Name Type Description value Event Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nEvent instance in this response.\nEventSomeRequest Field Name Type Description keys EventKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nEventSomeResponse Field Name Type Description value Event Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp EventStreamRequest Field Name Type Description partial_eq_filter Event[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Event at end.\n* Each Event response is fully-specified (all fields set).\n* start: Returns the state of each Event at start, followed by updates until now.\n* Each Event response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Event at start, followed by updates\nuntil end.\n* Each Event response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nEventStreamResponse Field Name Type Description value Event Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Event\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Event value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nUserEventCreationConfigDeleteAllRequest Field Name Type Description partial_eq_filter UserEventCreationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nUserEventCreationConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey UserEventCreationKey This is the key of the UserEventCreationConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nUserEventCreationConfigDeleteRequest Field Name Type Description key UserEventCreationKey Key indicates which UserEventCreationConfig instance to remove.\nThis field must always be set.\nUserEventCreationConfigDeleteResponse Field Name Type Description key UserEventCreationKey Key echoes back the key of the deleted UserEventCreationConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nUserEventCreationConfigDeleteSomeRequest Field Name Type Description keys UserEventCreationKey[\u0026hellip;] key contains a list of UserEventCreationConfig keys to delete\nUserEventCreationConfigDeleteSomeResponse UserEventCreationConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key UserEventCreationKey error string UserEventCreationConfigRequest Field Name Type Description key UserEventCreationKey Key uniquely identifies a UserEventCreationConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nUserEventCreationConfigResponse Field Name Type Description value UserEventCreationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nUserEventCreationConfig instance in this response.\nUserEventCreationConfigSetRequest Field Name Type Description value UserEventCreationConfig UserEventCreationConfig carries the value to set into the datastore.\nSee the documentation on the UserEventCreationConfig struct for which fields are required.\nUserEventCreationConfigSetResponse Field Name Type Description value UserEventCreationConfig Value carries all the values given in the UserEventCreationConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nUserEventCreationConfigSetSomeRequest Field Name Type Description values UserEventCreationConfig[\u0026hellip;] value contains a list of UserEventCreationConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nUserEventCreationConfigSetSomeResponse Field Name Type Description key UserEventCreationKey error string UserEventCreationConfigSomeRequest Field Name Type Description keys UserEventCreationKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nUserEventCreationConfigSomeResponse Field Name Type Description value UserEventCreationConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp UserEventCreationConfigStreamRequest Field Name Type Description partial_eq_filter UserEventCreationConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each UserEventCreationConfig at end.\n* Each UserEventCreationConfig response is fully-specified (all fields set).\n* start: Returns the state of each UserEventCreationConfig at start, followed by updates until now.\n* Each UserEventCreationConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each UserEventCreationConfig at start, followed by updates\nuntil end.\n* Each UserEventCreationConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nUserEventCreationConfigStreamResponse Field Name Type Description value UserEventCreationConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this UserEventCreationConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the UserEventCreationConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nEventAnnotationConfigService Method Name Request Type Response Type Description GetOne EventAnnotationConfigRequest EventAnnotationConfigResponse GetSome EventAnnotationConfigSomeRequest EventAnnotationConfigSomeResponse stream GetAll EventAnnotationConfigStreamRequest EventAnnotationConfigStreamResponse stream Subscribe EventAnnotationConfigStreamRequest EventAnnotationConfigStreamResponse stream GetMeta EventAnnotationConfigStreamRequest MetaResponse SubscribeMeta EventAnnotationConfigStreamRequest MetaResponse stream Set EventAnnotationConfigSetRequest EventAnnotationConfigSetResponse SetSome EventAnnotationConfigSetSomeRequest EventAnnotationConfigSetSomeResponse stream Delete EventAnnotationConfigDeleteRequest EventAnnotationConfigDeleteResponse DeleteSome EventAnnotationConfigDeleteSomeRequest EventAnnotationConfigDeleteSomeResponse stream DeleteAll EventAnnotationConfigDeleteAllRequest EventAnnotationConfigDeleteAllResponse stream EventService Method Name Request Type Response Type Description GetOne EventRequest EventResponse GetSome EventSomeRequest EventSomeResponse stream GetAll EventStreamRequest EventStreamResponse stream Subscribe EventStreamRequest EventStreamResponse stream GetMeta EventStreamRequest MetaResponse SubscribeMeta EventStreamRequest MetaResponse stream UserEventCreationConfigService Method Name Request Type Response Type Description GetOne UserEventCreationConfigRequest UserEventCreationConfigResponse GetSome UserEventCreationConfigSomeRequest UserEventCreationConfigSomeResponse stream GetAll UserEventCreationConfigStreamRequest UserEventCreationConfigStreamResponse stream Subscribe UserEventCreationConfigStreamRequest UserEventCreationConfigStreamResponse stream GetMeta UserEventCreationConfigStreamRequest MetaResponse SubscribeMeta UserEventCreationConfigStreamRequest MetaResponse stream Set UserEventCreationConfigSetRequest UserEventCreationConfigSetResponse SetSome UserEventCreationConfigSetSomeRequest UserEventCreationConfigSetSomeResponse stream Delete UserEventCreationConfigDeleteRequest UserEventCreationConfigDeleteResponse DeleteSome UserEventCreationConfigDeleteSomeRequest UserEventCreationConfigDeleteSomeResponse stream DeleteAll UserEventCreationConfigDeleteAllRequest UserEventCreationConfigDeleteAllResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/identityprovider.v1/","title":"identityprovider.v1","tags":[],"description":"","content":" arista/identityprovider.v1/identityprovider.proto\nOAuthConfig\nOAuthKey\nSAMLConfig\nSAMLKey\nProtocolBinding\narista/identityprovider.v1/services.gen.proto\nMetaResponse\nOAuthConfigBatchedStreamRequest\nOAuthConfigBatchedStreamResponse\nOAuthConfigDeleteAllRequest\nOAuthConfigDeleteAllResponse\nOAuthConfigDeleteRequest\nOAuthConfigDeleteResponse\nOAuthConfigDeleteSomeRequest\nOAuthConfigDeleteSomeResponse\nOAuthConfigRequest\nOAuthConfigResponse\nOAuthConfigSetRequest\nOAuthConfigSetResponse\nOAuthConfigSetSomeRequest\nOAuthConfigSetSomeResponse\nOAuthConfigSomeRequest\nOAuthConfigSomeResponse\nOAuthConfigStreamRequest\nOAuthConfigStreamResponse\nSAMLConfigBatchedStreamRequest\nSAMLConfigBatchedStreamResponse\nSAMLConfigDeleteAllRequest\nSAMLConfigDeleteAllResponse\nSAMLConfigDeleteRequest\nSAMLConfigDeleteResponse\nSAMLConfigDeleteSomeRequest\nSAMLConfigDeleteSomeResponse\nSAMLConfigRequest\nSAMLConfigResponse\nSAMLConfigSetRequest\nSAMLConfigSetResponse\nSAMLConfigSetSomeRequest\nSAMLConfigSetSomeResponse\nSAMLConfigSomeRequest\nSAMLConfigSomeResponse\nSAMLConfigStreamRequest\nSAMLConfigStreamResponse\nOAuthConfigService\nSAMLConfigService\nTop\narista/identityprovider.v1/identityprovider.proto OAuthConfig OAuthConfig holds the configuration for an OAuth provider.\nField Name Type Description key OAuthKey key is the ID of the OAuth provider.\nendpoint google.protobuf.StringValue endpoint is the URL that identifies an OAuth authorization server.\nThis endpoint is used to interact with the provider. It must be a\nURI [RFC3986] with a scheme component that must be https, a host component,\nand optionally, port and path components, but no query or fragment components.\nclient_id google.protobuf.StringValue client_id is the ID that the OAuth authorization server issues to the\nregistered client.\nclient_secret google.protobuf.StringValue client_secret is the secret that the OAuth authorization server issues\nto the registered client.\nalgorithms fmp.RepeatedString algorithms is the set of signing algorithms. This is an optional field.\nIf specified, only this set of algorithms may be used to sign the JWT.\nOtherwise, this defaults to the set of algorithms that the provider supports.\nlink_to_shared_provider google.protobuf.BoolValue link_to_shared_provider indicates whether or not use the provider as a shared\nprovider. This is an optional field and set to false by default.\njwks_uri google.protobuf.StringValue jwks_uri is where signing keys are downloaded. This is an optional field.\nOnly needed if the default construction from endpoint would be incorrect.\npermitted_email_domains fmp.RepeatedString permitted_email_domains are domains of emails that users are allowed to use.\nThis is an optional field. If not set, all domains are accepted by default.\nroles_scope_name google.protobuf.StringValue roles_scope_name is the name for a scope tied to a claim that holds\nCloudVision roles in ID Token. CloudVision uses scope values to specify\nwhat access privileges are being requested for id token. CloudVision\nappends this value to scope query parameter in the authorization request URL.\nThis is an optional field. If not set, CloudVision determines that\nmapping roles from the provider is disabled. If it\u0026rsquo;s set, roles_claim_name\nalso needs to be set.\nbearer_token_introspection_endpoint google.protobuf.StringValue bearer_token_introspection_endpoint is the provider instrospection endpoint used\nin Bearer Token based login support for CloudVision. This is an optional field.\nIf specified, this endpoint will be used to verify bearer tokens generated via\nthe provider to log in automated user accounts.\nroles_claim_name google.protobuf.StringValue roles_claim_name is the name for a claim that holds CloudVision roles in ID Token.\nCloudVision uses this value to look up roles in the ID Token.\nThis is an optional field. If not set, CloudVision determines that\nmapping roles from the provider is disabled. If it\u0026rsquo;s set, roles_scope_name\nalso needs to be set.\nOAuthKey OAuthKey contains OAuth provider ID.\nField Name Type Description provider_id google.protobuf.StringValue provider_id is the ID of the OAuth provider.\nSAMLConfig SAMLConfig holds the configuration for a SAML provider.\nField Name Type Description key SAMLKey key is the ID of the SAML provider.\nidp_issuer google.protobuf.StringValue idp_issuer identifies the SAML provider. There is no restriction on its format\nother than a string to carry the issuer\u0026rsquo;s name.\nidp_metadata_url google.protobuf.StringValue idp_metadata_url is the URL that CloudVision uses to fetch the\nSAML provider metadata.\nauthreq_binding ProtocolBinding authreq_binding specifies the ProtocolBinding used to send SAML authentication\nrequest to the SAML provider.\nemail_attrname google.protobuf.StringValue email_attrname specifies the Attribute name for email ID in Assertion of SAMLResponse\nfrom the SAML provider.\nlink_to_shared_provider google.protobuf.BoolValue link_to_shared_provider indicates whether or not use the provider as a shared\nprovider. This is an optional field and set to false by default.\npermitted_email_domains fmp.RepeatedString permitted_email_domains are domains of emails that users are allowed to use.\nThis is an optional field. If not set, all domains are accepted by default.\nforce_saml_authn google.protobuf.BoolValue force_saml_authn indicates wether or not enable force authentication in SAML login.\nThis is an optional field. If not set, it defaults to false.\nroles_attrname google.protobuf.StringValue roles_attrname specifies the Attribute name for CloudVision roles in the Assertion\nof SAMLResponse. This is an optional field. If not set, CloudVision determines that\nmapping roles from the provider is disabled.\norg_attrname google.protobuf.StringValue org_attrname specifies the Attribute name for CloudVision organization/tenant in\nthe Assertion of SAMLResponse. This is an optional field. CloudVision supports use\nof certain shared SAML Identity Providers for authenticating users across multiple\nCloudVision organizations/tenants. In case a given organization uses a shared provider,\nthen, CloudVision needs this attribute to determine if the organization that\nthe shared SAML Identity Provider is sending the assertion for is the same as the\none the user requested to be logged into. For an existing user on CloudVision,\nthe user\u0026rsquo;s email is used to determine which organization the user belongs to do\nthe same verification but in case a dynamic user creation is needed and the given\nuser doesn\u0026rsquo;t exist on CloudVision currently then the matching organization attribute\nfrom the shared Identity Privder becomes necessary. Dynamic user creation is\ndisabled for a given organization using shared Identity Provider if this attribute\nis not specified.\nusername_attrname google.protobuf.StringValue username_attrname specifies Attribute name for CloudVision users\u0026rsquo; username in the\nAssertion of SAMLResponse. This is an optional field as long as mapping roles from\nprovider is not enabled. Once enabled, this field becomes mandatory.\nSAMLKey SAMLKey contains SAML Provider ID.\nField Name Type Description provider_id google.protobuf.StringValue provider_id is the ID of the SAML provider.\nProtocolBinding ProtocolBinding indicates SAML protocol binding to be used.\nName Number Description PROTOCOL_BINDING_UNSPECIFIED 0 PROTOCOL_BINDING_UNSPECIFIED indicates that a protocol binding is unspecified.\nPROTOCOL_BINDING_HTTP_POST 1 PROTOCOL_BINDING_HTTP_POST indicates HTTP-POST SAML protocol binding.\nPROTOCOL_BINDING_HTTP_REDIRECT 2 PROTOCOL_BINDING_HTTP_REDIRECT indicates HTTP-Redirect SAML protocol binding.\nTop\narista/identityprovider.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nOAuthConfigBatchedStreamRequest Field Name Type Description partial_eq_filter OAuthConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each OAuthConfig at end.\n* Each OAuthConfig response is fully-specified (all fields set).\n* start: Returns the state of each OAuthConfig at start, followed by updates until now.\n* Each OAuthConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each OAuthConfig at start, followed by updates\nuntil end.\n* Each OAuthConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nOAuthConfigBatchedStreamResponse Field Name Type Description responses OAuthConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nOAuthConfigDeleteAllRequest Field Name Type Description partial_eq_filter OAuthConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nOAuthConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey OAuthKey This is the key of the OAuthConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nOAuthConfigDeleteRequest Field Name Type Description key OAuthKey Key indicates which OAuthConfig instance to remove.\nThis field must always be set.\nOAuthConfigDeleteResponse Field Name Type Description key OAuthKey Key echoes back the key of the deleted OAuthConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nOAuthConfigDeleteSomeRequest Field Name Type Description keys OAuthKey[\u0026hellip;] key contains a list of OAuthConfig keys to delete\nOAuthConfigDeleteSomeResponse OAuthConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key OAuthKey error string OAuthConfigRequest Field Name Type Description key OAuthKey Key uniquely identifies a OAuthConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nOAuthConfigResponse Field Name Type Description value OAuthConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nOAuthConfig instance in this response.\nOAuthConfigSetRequest Field Name Type Description value OAuthConfig OAuthConfig carries the value to set into the datastore.\nSee the documentation on the OAuthConfig struct for which fields are required.\nOAuthConfigSetResponse Field Name Type Description value OAuthConfig Value carries all the values given in the OAuthConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nOAuthConfigSetSomeRequest Field Name Type Description values OAuthConfig[\u0026hellip;] value contains a list of OAuthConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nOAuthConfigSetSomeResponse Field Name Type Description key OAuthKey error string OAuthConfigSomeRequest Field Name Type Description keys OAuthKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nOAuthConfigSomeResponse Field Name Type Description value OAuthConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp OAuthConfigStreamRequest Field Name Type Description partial_eq_filter OAuthConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each OAuthConfig at end.\n* Each OAuthConfig response is fully-specified (all fields set).\n* start: Returns the state of each OAuthConfig at start, followed by updates until now.\n* Each OAuthConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each OAuthConfig at start, followed by updates\nuntil end.\n* Each OAuthConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nOAuthConfigStreamResponse Field Name Type Description value OAuthConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this OAuthConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the OAuthConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSAMLConfigBatchedStreamRequest Field Name Type Description partial_eq_filter SAMLConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SAMLConfig at end.\n* Each SAMLConfig response is fully-specified (all fields set).\n* start: Returns the state of each SAMLConfig at start, followed by updates until now.\n* Each SAMLConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SAMLConfig at start, followed by updates\nuntil end.\n* Each SAMLConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSAMLConfigBatchedStreamResponse Field Name Type Description responses SAMLConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSAMLConfigDeleteAllRequest Field Name Type Description partial_eq_filter SAMLConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nSAMLConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey SAMLKey This is the key of the SAMLConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nSAMLConfigDeleteRequest Field Name Type Description key SAMLKey Key indicates which SAMLConfig instance to remove.\nThis field must always be set.\nSAMLConfigDeleteResponse Field Name Type Description key SAMLKey Key echoes back the key of the deleted SAMLConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nSAMLConfigDeleteSomeRequest Field Name Type Description keys SAMLKey[\u0026hellip;] key contains a list of SAMLConfig keys to delete\nSAMLConfigDeleteSomeResponse SAMLConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key SAMLKey error string SAMLConfigRequest Field Name Type Description key SAMLKey Key uniquely identifies a SAMLConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSAMLConfigResponse Field Name Type Description value SAMLConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSAMLConfig instance in this response.\nSAMLConfigSetRequest Field Name Type Description value SAMLConfig SAMLConfig carries the value to set into the datastore.\nSee the documentation on the SAMLConfig struct for which fields are required.\nSAMLConfigSetResponse Field Name Type Description value SAMLConfig Value carries all the values given in the SAMLConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nSAMLConfigSetSomeRequest Field Name Type Description values SAMLConfig[\u0026hellip;] value contains a list of SAMLConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nSAMLConfigSetSomeResponse Field Name Type Description key SAMLKey error string SAMLConfigSomeRequest Field Name Type Description keys SAMLKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSAMLConfigSomeResponse Field Name Type Description value SAMLConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SAMLConfigStreamRequest Field Name Type Description partial_eq_filter SAMLConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SAMLConfig at end.\n* Each SAMLConfig response is fully-specified (all fields set).\n* start: Returns the state of each SAMLConfig at start, followed by updates until now.\n* Each SAMLConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SAMLConfig at start, followed by updates\nuntil end.\n* Each SAMLConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSAMLConfigStreamResponse Field Name Type Description value SAMLConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SAMLConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SAMLConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nOAuthConfigService Method Name Request Type Response Type Description GetOne OAuthConfigRequest OAuthConfigResponse GetSome OAuthConfigSomeRequest OAuthConfigSomeResponse stream GetAll OAuthConfigStreamRequest OAuthConfigStreamResponse stream Subscribe OAuthConfigStreamRequest OAuthConfigStreamResponse stream GetMeta OAuthConfigStreamRequest MetaResponse SubscribeMeta OAuthConfigStreamRequest MetaResponse stream Set OAuthConfigSetRequest OAuthConfigSetResponse SetSome OAuthConfigSetSomeRequest OAuthConfigSetSomeResponse stream Delete OAuthConfigDeleteRequest OAuthConfigDeleteResponse DeleteSome OAuthConfigDeleteSomeRequest OAuthConfigDeleteSomeResponse stream DeleteAll OAuthConfigDeleteAllRequest OAuthConfigDeleteAllResponse stream GetAllBatched OAuthConfigBatchedStreamRequest OAuthConfigBatchedStreamResponse stream SubscribeBatched OAuthConfigBatchedStreamRequest OAuthConfigBatchedStreamResponse stream SAMLConfigService Method Name Request Type Response Type Description GetOne SAMLConfigRequest SAMLConfigResponse GetSome SAMLConfigSomeRequest SAMLConfigSomeResponse stream GetAll SAMLConfigStreamRequest SAMLConfigStreamResponse stream Subscribe SAMLConfigStreamRequest SAMLConfigStreamResponse stream GetMeta SAMLConfigStreamRequest MetaResponse SubscribeMeta SAMLConfigStreamRequest MetaResponse stream Set SAMLConfigSetRequest SAMLConfigSetResponse SetSome SAMLConfigSetSomeRequest SAMLConfigSetSomeResponse stream Delete SAMLConfigDeleteRequest SAMLConfigDeleteResponse DeleteSome SAMLConfigDeleteSomeRequest SAMLConfigDeleteSomeResponse stream DeleteAll SAMLConfigDeleteAllRequest SAMLConfigDeleteAllResponse stream GetAllBatched SAMLConfigBatchedStreamRequest SAMLConfigBatchedStreamResponse stream SubscribeBatched SAMLConfigBatchedStreamRequest SAMLConfigBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/imagestatus.v1/","title":"imagestatus.v1","tags":[],"description":"","content":" arista/imagestatus.v1/imagestatus.proto\nComplianceStatus\nComplianceStatusBySup\nComplianceStatusBySup.ValuesEntry\nExtension\nExtensionDiff\nExtensionDiffs\nExtensionDiffsBySup\nExtensionDiffsBySup.ValuesEntry\nExtensions\nImageError\nImageErrors\nImageInfo\nImageInfos\nImageMetadata\nImageSummary\nImageWarning\nImageWarnings\nRebootRequired\nSoftwareImage\nSoftwareImageDiff\nSoftwareImageDiffsBySup\nSoftwareImageDiffsBySup.ValuesEntry\nSummary\nSummaryKey\nTerminAttrDiffsBySup\nTerminAttrDiffsBySup.ValuesEntry\nDiffOp\nErrorCode\nExtensionInstallStatus\nInfoCode\nSoftwareComplianceCode\nWarningCode\narista/imagestatus.v1/services.gen.proto\nMetaResponse\nSummaryBatchedStreamRequest\nSummaryBatchedStreamResponse\nSummaryRequest\nSummaryResponse\nSummarySomeRequest\nSummarySomeResponse\nSummaryStreamRequest\nSummaryStreamResponse\nSummaryService\nTop\narista/imagestatus.v1/imagestatus.proto ComplianceStatus ComplianceStatus indicates compliance status for software image, terminattr and extensions.\nField Name Type Description software_image_compliance_code SoftwareComplianceCode software_image_compliance_code is the compliance code for images.\nterminattr_compliance_code SoftwareComplianceCode terminattr_compliance_code is the compliance code for TerminAttr.\nextensions_compliance_code SoftwareComplianceCode extensions_compliance_code is the compliance code for extensions.\nComplianceStatusBySup ComplianceStatusBySup is a map that indicates the compliance code for each supervisor.\nField Name Type Description values ComplianceStatusBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to compliance code.\nComplianceStatusBySup.ValuesEntry Field Name Type Description key string value ComplianceStatus Extension Extension provides information of the running/designed extensions.\nField Name Type Description name google.protobuf.StringValue name is the name of the extension.\nversion google.protobuf.StringValue version is the version of the extension.\nreboot_required google.protobuf.BoolValue reboot_required indicates whether applying/deleting this extension\nwould result in a reboot.\npresent google.protobuf.BoolValue present indicates whether the extension is present in the device\nor not.\ninstalled ExtensionInstallStatus installed indicates whether the extension is installed, not\ninstalled or force installed.\nstatus_detail google.protobuf.StringValue status_detail gives the details behind installation of the extension.\nis_embedded google.protobuf.BoolValue is_embedded indicates whether the extension is embedded in the EOS swi\nor not.\nExtensionDiff ExtensionDiff is the diff for the running/designed extensions.\nField Name Type Description code DiffOp code indicates the operation performed to get from one side of the diff\nto the other.\na Extension a is the extension on the a side (left hand side).\nb Extension b is the extension on the b side (right hand side).\nExtensionDiffs ExtensionDiffs is a list of extension diff information in the order they will be applied.\nField Name Type Description values ExtensionDiff[\u0026hellip;] values is an ordered list of extension diffs applied to the device.\nExtensionDiffsBySup ExtensionDiffsBySup is the extension diff information for each supervisor.\nField Name Type Description values ExtensionDiffsBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to extension diff.\nExtensionDiffsBySup.ValuesEntry Field Name Type Description key string value ExtensionDiffs Extensions Extensions provides an ordered list of running/designed extensions.\nField Name Type Description values Extension[\u0026hellip;] values represents extension information.\nImageError ImageError wraps ErrorCode enum with a reason string.\nField Name Type Description sku google.protobuf.StringValue sku represents the name of the sku.\nerror_code ErrorCode error_code is the error code.\nerror_msg google.protobuf.StringValue error_msg provides a description of the error.\nImageErrors ImageErrors is the list of errors reported by CVP when handling image validations.\nField Name Type Description values ImageError[\u0026hellip;] values is a list of image errors.\nImageInfo ImageInfo wraps InfoCode enum with a reason string.\nField Name Type Description sku google.protobuf.StringValue sku represents the name of the sku.\ninfo_code InfoCode info_code is the info code.\ninfo_msg google.protobuf.StringValue info_msg provides a description of the info.\nImageInfos ImageInfos is the list of info messages reported by CVP when handling image validations.\nField Name Type Description values ImageInfo[\u0026hellip;] values is a list of image infos.\nImageMetadata ImageMetadata provides information regarding the software image.\nField Name Type Description version google.protobuf.StringValue version is the version of the EOS image.\nrelease google.protobuf.StringValue release is the release name of the EOS image.\nflavor google.protobuf.StringValue flavor is the flavor information of the EOS image.\ndefault flavor is DEFAULT. Other flavors can be DPE, 2GB, etc.\nvariant google.protobuf.StringValue variant is the variant information of the EOS image.\npossible values: INT or US.\narch google.protobuf.StringValue arch is the architecture of the EOS image.\nImageSummary ImageSummary represents device image summary.\nField Name Type Description sku google.protobuf.StringValue sku indicates the top-level sku or model number.\nrunning_image_update_time google.protobuf.Timestamp running_image_update_time is the most recent timestamp at which one of\nrunning image side properties is updated.\ndesigned_image_update_time google.protobuf.Timestamp designed_image_update_time is the most recent timestamp at which one of\ndesigned image side properties is updated.\ndual_sup google.protobuf.BoolValue dual_sup indicates if a device is a dual supervisor.\nactive_slot google.protobuf.Int32Value active_slot indicates the physical slot number for the the active\nsupervisor.\nstandby_slot google.protobuf.Int32Value standby_slot indicates the physical slot number for the standby\nsupervisor.\nsoftware_image_diff SoftwareImageDiffsBySup software_image_diff indicates the image diff for each supervisor.\nterminattr_diff TerminAttrDiffsBySup terminattr_diff indicates the terminattr diff for each supervisor.\nextensions_diff ExtensionDiffsBySup extensions_diff indicates the extension diff for each supervisor.\ncompliance_status SoftwareComplianceCode compliance_status is the aggregated compliance status (including both\nactive/standby and image/TA/extension compliance).\ncompliance ComplianceStatusBySup compliance provides compliance information for each supervisor.\nreboot_required RebootRequired reboot_required indicates whether a reboot is required if the designed\nimage is pushed to the device.\ndigest google.protobuf.StringValue digest is the digest of the image summary. It can use SHA-256 hash\nalgorithm for example. It is computed by stringifying the\nsoftware_image_diff, terminattr_diff and extensions_diff and computing the\nhash.\nImageWarning ImageWarning wraps WarningCode enum with a reason string.\nField Name Type Description sku google.protobuf.StringValue sku represents the name of the sku.\nwarning_code WarningCode warning_code is the warning code.\nwarning_msg google.protobuf.StringValue warning_msg provides a description of the warning.\nImageWarnings ImageWarnings is the list of warnings reported by CVP when handling image validations.\nField Name Type Description values ImageWarning[\u0026hellip;] values is a list of image warnings.\nRebootRequired RebootRequired indicates the reboot information per software image, terminattr and extension for the switch as a whole.\nField Name Type Description software_image_reboot_required google.protobuf.BoolValue software_image_reboot_required indicates whether reboot is required\nfor the software image being applied.\nterminattr_reboot_required google.protobuf.BoolValue terminattr_reboot_required indicates whether reboot is required\nfor the terminattr being applied/deleted.\nextension_reboot_required google.protobuf.BoolValue extension_reboot_required indicates whether reboot is required\nfor the extensions being applied/deleted.\nSoftwareImage SoftwareImage provides information of the running/designed EOS image.\nField Name Type Description name google.protobuf.StringValue name is the name of the EOS image.\nversion google.protobuf.StringValue version is the version of the EOS image.\nmetadata ImageMetadata metadata is the metadata of EOS image.\nSoftwareImageDiff SoftwareImageDiff is the diff for the running/designed images.\nField Name Type Description code DiffOp code indicates the operation performed to get from one side of the diff\nto the other.\na SoftwareImage a is the software image on the a side (left hand side).\nb SoftwareImage b is the software image on the b side (right hand side).\nSoftwareImageDiffsBySup SoftwareImageDiffsBySup is software image diff information for each supervisor.\nField Name Type Description values SoftwareImageDiffsBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to image diff.\nSoftwareImageDiffsBySup.ValuesEntry Field Name Type Description key string value SoftwareImageDiff Summary Summary represents the device image summary.\nField Name Type Description key SummaryKey key represents the image summary key.\nsummary ImageSummary summary is the image diff summary.\nerrors ImageErrors errors are the image errors encountered while validating the image. These are\ndisplayed on the workspace build results page.\nwarnings ImageWarnings warnings are the image warnings encountered while validating the image. These are\ndisplayed on the workspace build results page.\ninfos ImageInfos infos are the image infos encountered while validating the image. These are\ndisplayed on the workspace build results page.\nSummaryKey SummaryKey uniquely identifies a device summary request.\nField Name Type Description device_id google.protobuf.StringValue device_id is the serial number of the device\nTerminAttrDiffsBySup TerminAttrDiffsBySup is the terminattr diff information for each supervisor.\nField Name Type Description values TerminAttrDiffsBySup.ValuesEntry[\u0026hellip;] values is the mapping of supervisor type to terminattr diff.\nTerminAttrDiffsBySup.ValuesEntry Field Name Type Description key string value ExtensionDiff DiffOp DiffOp represents the operation performed to get from one side of the diff to the other.\nName Number Description DIFF_OP_UNSPECIFIED 0 DIFF_OP_UNSPECIFIED indicates op code is unspecified.\nDIFF_OP_NOP 1 DIFF_OP_NOP indicates no change.\nDIFF_OP_ADD 2 DIFF_OP_ADD is an addition of a software.\nDIFF_OP_DELETE 3 DIFF_OP_DELETE is deletion of a software.\nDIFF_OP_CHANGE 4 DIFF_OP_CHANGE is an update to the software.\nErrorCode ErrorCode indicates errors produced during image validations.\nName Number Description ERROR_CODE_UNSPECIFIED 0 ERROR_CODE_UNSPECIFIED indicates error code is unspecified.\nERROR_CODE_SUPPORT_NOT_INTRODUCED 1 ERROR_CODE_SUPPORT_NOT_INTRODUCED represents case where the given EOS version does\nnot support the SKU.\nDeprecated - use ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED\nERROR_CODE_SUPPORT_REMOVED 2 ERROR_CODE_SUPPORT_REMOVED represents case where the given EOS version no longer\nsupports the SKU.\nDeprecated - use ERROR_CODE_EOS_SUPPORT_REMOVED\nERROR_CODE_DEVICE_UNREACHABLE 3 ERROR_CODE_DEVICE_UNREACHABLE represents the case where the device\nis unreachable during a compliance computation.\nERROR_CODE_VALIDATION_FAILED 4 ERROR_CODE_VALIDATION_FAILED represents case where the validations checks\nfailed.\nERROR_CODE_GET_PROPOSED_IMAGE_INFO_FAILED 5 ERROR_CODE_GET_PROPOSED_IMAGE_INFO_FAILED represents case where we are\nunable to get proposed image information for a device.\nERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_ACTIVE_SUPERVISOR_FAILED 6 ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_ACTIVE_SUPERVISOR_FAILED represents case where we\nfail to get running image information from an active supervisor.\nERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_PEER_SUPERVISOR_FAILED 7 ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_PEER_SUPERVISOR_FAILED represents case when we\nfail to get information from peer supervisor.\nERROR_CODE_EOS_TA_ARCHITECTURE_INCOMPATIBLE 8 ERROR_CODE_EOS_TA_ARCHITECTURE_INCOMPATIBLE represents the case where EOS architecture and\nTerminAttr architecture are incompatible.\nERROR_CODE_TA_CV_INCOMPATIBLE 9 ERROR_CODE_TA_CV_INCOMPATIBLE represents the case where TerminAttr is incompatible with\nCloudVision; i.e., the TerminAttr version is below CloudVision\u0026rsquo;s minimum supported version.\nERROR_CODE_EOS_CV_INCOMPATIBLE 10 ERROR_CODE_EOS_CV_INCOMPATIBLE represents the case where the EOS version is incompatible with\nCloudVision; i.e., the EOS version is outside of CloudVision\u0026rsquo;s supported range of versions.\nERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED 11 ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED represents the case where the given EOS version does\nnot support the SKU.\nERROR_CODE_EOS_SUPPORT_REMOVED 12 ERROR_CODE_EOS_SUPPORT_REMOVED represents the case where the given EOS version no longer\nsupports the SKU.\nERROR_CODE_PHYSICAL_DEVICE_EOS_INCOMPATIBLE 13 ERROR_CODE_PHYSICAL_DEVICE_EOS_INCOMPATIBLE represents the case where the physical device\ndoes not support the given EOS type.\nERROR_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE 14 ERROR_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents the case where the extension TerminAttr\nversion is lower than the embedded TerminAttr version in SWI.\nERROR_CODE_DEVICE_EOS_2GB_INCOMPATIBLE 15 ERROR_CODE_DEVICE_EOS_2GB_INCOMPATIBLE represents the case where a 2GB-device is incompatible\nwith a non-2GB EOS or a non-2GB device is incompatible with a 2GB-EOS.\nExtensionInstallStatus ExtensionInstallStatus indicates whether an extension is installed, not installed or force installed.\nName Number Description EXTENSION_INSTALL_STATUS_UNSPECIFIED 0 EXTENSION_INSTALL_STATUS_UNSPECIFIED indicates extensions install status is unspecified.\nEXTENSION_INSTALL_STATUS_NOT_INSTALLED 1 EXTENSION_INSTALL_STATUS_NOT_INSTALLED indicates extension is not installed on the device.\nEXTENSION_INSTALL_STATUS_INSTALLED 2 EXTENSION_INSTALL_STATUS_INSTALLED indicates extension is installed on the device.\nEXTENSION_INSTALL_STATUS_FORCE_INSTALLED 3 EXTENSION_INSTALL_STATUS_FORCE_INSTALLED indicates extension is force installed on\ndevice.\nInfoCode InfoCode indicates info messages produced during image validations.\nName Number Description INFO_CODE_UNSPECIFIED 0 INFO_CODE_UNSPECIFIED indicates info code is unspecified.\nINFO_CODE_NEWER_VERSION_AVAILABLE 1 INFO_CODE_NEWER_VERSION_AVAILABLE represents cases where a newer EOS maintainance\nrelease is available for download.\nSoftwareComplianceCode SoftwareComplianceCode indicates possible compliance status.\nName Number Description SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED 0 SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED indicates compliance code is unspecified.\nSOFTWARE_COMPLIANCE_CODE_IN_SYNC 1 SOFTWARE_COMPLIANCE_CODE_IN_SYNC indicates designed and running images/extensions\nare identical.\nSOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC 2 SOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC indicates designed and running images/extensions\nare not identical.\nWarningCode WarningCode indicates warnings produced during image validations.\nName Number Description WARNING_CODE_UNSPECIFIED 0 WARNING_CODE_UNSPECIFIED indicates warning code is unspecified.\nWARNING_CODE_NOT_APPLICABLE 1 WARNING_CODE_NOT_APPLICABLE represents cases where EOS \u0026lt;-\u0026gt; SKU/TA compatibility\nis not applicable for non physical switches like vEos.\nWARNING_CODE_SKUINFO_UNAVAILABLE 2 WARNING_CODE_SKUINFO_UNAVAILABLE represents case where\ninformation about certain skus is missing.\nWARNING_CODE_DEVICE_SKU_UNAVAILABLE 3 WARNING_CODE_DEVICE_SKU_UNAVAILABLE represents unavailability of skus for an EOS Device.\nWARNING_CODE_SWI_UNKNOWN 4 WARNING_CODE_SWI_UNKNOWN represents cases where EOS version is not found in release database.\nWARNING_CODE_TA_EOS_INCOMPATIBLE 5 WARNING_CODE_TA_EOS_INCOMPATIBLE represents cases where TA and EOS are not compatible.\nTA is lower than embedded TA in swi or given TA is unsupported by the EOS.\nWARNING_CODE_TA_CV_INCOMPATIBLE 6 WARNING_CODE_TA_CV_INCOMPATIBLE represents cases where TA is incompatible with CV.\nTA is lower than minimum supported TA on CV.\nDeprecated - use ERROR_CODE_TA_CV_INCOMPATIBLE.\nWARNING_CODE_EOS_CV_INCOMPATIBLE 7 WARNING_CODE_EOS_CV_INCOMPATIBLE represents cases where EOS is no longer or not yet\nsupported by CV. Given EOS is outside range of CV\u0026rsquo;s minimum and maximum EOS.\nDeprecated - use ERROR_CODE_EOS_CV_INCOMPATIBLE.\nWARNING_CODE_EOS_ARCH_UNKNOWN 8 WARNING_CODE_EOS_ARCH_UNKNOWN represents cases where the specified architecture is\nnot valid for EOS.\nWARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE 9 WARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents cases where TA extension is lower\nin version than embedded TA in SWI.\nWARNING_CODE_ARCH_INCOMPATIBLE 10 WARNING_CODE_ARCH_INCOMPATIBLE represents cases where EOS arch and TA arch are\ndifferent. Deprecated.\nWARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED 11 WARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED represents cases where the given EOS has passed\nits end of life date.\nWARNING_CODE_SUPPORT_NOT_INTRODUCED 12 WARNING_CODE_SUPPORT_NOT_INTRODUCED represents cases where the given EOS version does\nnot support the SKUs.\nWARNING_CODE_SUPPORT_REMOVED 13 WARNING_CODE_SUPPORT_REMOVED represents cases where the given EOS version no longer\nsupports the SKUs.\nWARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION 14 WARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION represents cases where the running\nTerminAttr version is below CloudVision\u0026rsquo;s minimum supported version.\nWARNING_CODE_TA_STUDIO_INCOMPATIBLE 15 WARNING_CODE_TA_STUDIO_INCOMPATIBLE represents cases where the TerminAttr is incompatible\nwith Software Management Studio.\nWARNING_CODE_BUGALERTS_DATA_MISSING 16 WARNING_CODE_BUGALERTS_DATA_MISSING represents cases where some of the BugAlerts data\nunder Aeris analytics dataset is missing.\nTop\narista/imagestatus.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSummaryBatchedStreamResponse Field Name Type Description responses SummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSummaryRequest Field Name Type Description key SummaryKey Key uniquely identifies a Summary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummaryResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSummary instance in this response.\nSummarySomeRequest Field Name Type Description keys SummaryKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSummarySomeResponse Field Name Type Description value Summary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SummaryStreamRequest Field Name Type Description partial_eq_filter Summary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Summary at end.\n* Each Summary response is fully-specified (all fields set).\n* start: Returns the state of each Summary at start, followed by updates until now.\n* Each Summary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Summary at start, followed by updates\nuntil end.\n* Each Summary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSummaryStreamResponse Field Name Type Description value Summary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Summary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Summary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nSummaryService Method Name Request Type Response Type Description GetOne SummaryRequest SummaryResponse GetSome SummarySomeRequest SummarySomeResponse stream GetAll SummaryStreamRequest SummaryStreamResponse stream Subscribe SummaryStreamRequest SummaryStreamResponse stream GetMeta SummaryStreamRequest MetaResponse SubscribeMeta SummaryStreamRequest MetaResponse stream GetAllBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream SubscribeBatched SummaryBatchedStreamRequest SummaryBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/","title":"inventory.v1","tags":[],"description":"","content":" arista/inventory.v1/inventory.proto\nDevice\nDeviceConfiguration\nDeviceConfiguration.OptionsEntry\nDeviceDecommissioning\nDeviceDecommissioningConfig\nDeviceKey\nDeviceOnboarding\nDeviceOnboardingConfig\nExtendedAttributes\nExtendedAttributes.FeatureEnabledEntry\nProvisionedDevice\nUUIDKey\nDecommissioningStatus\nOnboardingStatus\nProvisioningStatus\nStreamingStatus\narista/inventory.v1/services.gen.proto\nDeviceBatchedStreamRequest\nDeviceBatchedStreamResponse\nDeviceDecommissioningBatchedStreamRequest\nDeviceDecommissioningBatchedStreamResponse\nDeviceDecommissioningConfigBatchedStreamRequest\nDeviceDecommissioningConfigBatchedStreamResponse\nDeviceDecommissioningConfigDeleteAllRequest\nDeviceDecommissioningConfigDeleteAllResponse\nDeviceDecommissioningConfigDeleteRequest\nDeviceDecommissioningConfigDeleteResponse\nDeviceDecommissioningConfigDeleteSomeRequest\nDeviceDecommissioningConfigDeleteSomeResponse\nDeviceDecommissioningConfigRequest\nDeviceDecommissioningConfigResponse\nDeviceDecommissioningConfigSetRequest\nDeviceDecommissioningConfigSetResponse\nDeviceDecommissioningConfigSetSomeRequest\nDeviceDecommissioningConfigSetSomeResponse\nDeviceDecommissioningConfigSomeRequest\nDeviceDecommissioningConfigSomeResponse\nDeviceDecommissioningConfigStreamRequest\nDeviceDecommissioningConfigStreamResponse\nDeviceDecommissioningRequest\nDeviceDecommissioningResponse\nDeviceDecommissioningSomeRequest\nDeviceDecommissioningSomeResponse\nDeviceDecommissioningStreamRequest\nDeviceDecommissioningStreamResponse\nDeviceOnboardingBatchedStreamRequest\nDeviceOnboardingBatchedStreamResponse\nDeviceOnboardingConfigBatchedStreamRequest\nDeviceOnboardingConfigBatchedStreamResponse\nDeviceOnboardingConfigDeleteAllRequest\nDeviceOnboardingConfigDeleteAllResponse\nDeviceOnboardingConfigDeleteRequest\nDeviceOnboardingConfigDeleteResponse\nDeviceOnboardingConfigDeleteSomeRequest\nDeviceOnboardingConfigDeleteSomeResponse\nDeviceOnboardingConfigRequest\nDeviceOnboardingConfigResponse\nDeviceOnboardingConfigSetRequest\nDeviceOnboardingConfigSetResponse\nDeviceOnboardingConfigSetSomeRequest\nDeviceOnboardingConfigSetSomeResponse\nDeviceOnboardingConfigSomeRequest\nDeviceOnboardingConfigSomeResponse\nDeviceOnboardingConfigStreamRequest\nDeviceOnboardingConfigStreamResponse\nDeviceOnboardingRequest\nDeviceOnboardingResponse\nDeviceOnboardingSomeRequest\nDeviceOnboardingSomeResponse\nDeviceOnboardingStreamRequest\nDeviceOnboardingStreamResponse\nDeviceRequest\nDeviceResponse\nDeviceSomeRequest\nDeviceSomeResponse\nDeviceStreamRequest\nDeviceStreamResponse\nMetaResponse\nProvisionedDeviceBatchedStreamRequest\nProvisionedDeviceBatchedStreamResponse\nProvisionedDeviceRequest\nProvisionedDeviceResponse\nProvisionedDeviceSomeRequest\nProvisionedDeviceSomeResponse\nProvisionedDeviceStreamRequest\nProvisionedDeviceStreamResponse\nDeviceDecommissioningConfigService\nDeviceDecommissioningService\nDeviceOnboardingConfigService\nDeviceOnboardingService\nDeviceService\nProvisionedDeviceService\nTop\narista/inventory.v1/inventory.proto Device Device describes an onboarded device.\nField Name Type Description key DeviceKey key uniquely identifies the device.\nsoftware_version google.protobuf.StringValue software_version gives the currently running device software version.\nmodel_name google.protobuf.StringValue model_name describes the hardware model of this device.\nhardware_revision google.protobuf.StringValue hardware_revision describes any revisional data to the model name.\nfqdn google.protobuf.StringValue fqdn gives the device\u0026rsquo;s fully qualified domain name.\nhostname google.protobuf.StringValue hostname is the hostname as reported on the device.\ndomain_name google.protobuf.StringValue domain_name provides the domain name on which the device is registered.\nsystem_mac_address google.protobuf.StringValue system_mac_address provides the MAC address of the management port.\nboot_time google.protobuf.Timestamp boot_time indicates when the device was last booted.\nstreaming_status StreamingStatus streaming_status is the status of telemetry streaming for this device.\nextended_attributes ExtendedAttributes extended_attributes wraps any additional, potentially non-standard, features\nor attributes that the device reports.\nDeviceConfiguration DeviceConfiguration holds the device-specific configuration for a third-party device, as defined in https://github.com/aristanetworks/cloudvision-go.\nField Name Type Description options DeviceConfiguration.OptionsEntry[\u0026hellip;] options is a map from device option to value.\nE.g., for an SNMP device, this could be the following:\n\u0026ldquo;address\u0026rdquo;: \u0026ldquo;my_snmp_hostname\u0026rdquo;,\n\u0026ldquo;community\u0026rdquo;: \u0026ldquo;public\u0026rdquo;\nDeviceConfiguration.OptionsEntry Field Name Type Description key string value string DeviceDecommissioning DeviceOnboarding describes the status of a decommissioning process.\nField Name Type Description key UUIDKey key identifies the request for which to retrieve a decommissioning status.\nstatus DecommissioningStatus status describes the decommissioning status of the device.\nerror google.protobuf.StringValue error is the error that caused status to become DECOMMISSIONING_STATUS_FAILURE.\nstatus_message google.protobuf.StringValue status_message contains information on the status of the decommissioning attempt,\nif any. This is generally an unstructured log message that is for display\npurposes only (its structure and contents may change).\nDeviceDecommissioningConfig DeviceDecommissioningConfig describes a device decommissioning request. \u0026ldquo;Decommissioning\u0026rdquo; refers to the process of stopping device streaming to CloudVision and removing it from CloudVision\u0026rsquo;s inventory.\nThe request flow works as follows:\nSet on DeviceDecommissioningConfig sends a decommissioning request with a UUID that the user is responsible for generating. Once the server receives the request, it validates and records it. Then, the server processes it, initiating the decommissioning procedure and tracking the status of the decommissioning attempt. The user may do a GetOne or Subscribe on DeviceDecommissioning using the same UUID to see the status of the request. Field Name Type Description key UUIDKey key identifies the request to decommission the device.\ndevice_id google.protobuf.StringValue device_id is the unique device ID that was discovered via onboarding.\nforce google.protobuf.BoolValue force is a flag that indicates if the decommission is to be forced.\nNormally, if there are pending or in-progress tasks associated with the device\nthe decommission would fail. In case of a forced decommission, such blocking\ntasks would be ignored and decommissioning will be continued.\nDeviceKey DeviceKey uniquely identifies a single device.\nField Name Type Description device_id google.protobuf.StringValue device_id is the unique identifier of the device.\nDeviceOnboarding DeviceOnboarding describes the status of an onboarding process.\nField Name Type Description key UUIDKey key identifies the request for which to retrieve an onboarding status.\ndevice_id google.protobuf.StringValue device_id is the unique device ID that is discovered via onboarding.\nstatus OnboardingStatus status describes the onboarding status of the device.\nerror google.protobuf.StringValue error is the error that caused status to become ONBOARDING_STATUS_FAILURE.\nstatus_message google.protobuf.StringValue status_message contains information on the status of the onboarding attempt,\nif any. This is generally an unstructured log message that is for display\npurposes only (its structure and contents may change).\nDeviceOnboardingConfig DeviceOnboardingConfig describes a device onboarding request. \u0026ldquo;Onboarding\u0026rdquo; refers to the process of initiating device streaming to CloudVision and adding the streaming device to CloudVision\u0026rsquo;s inventory.\nThe request flow works as follows:\nSet on DeviceOnboardingConfig sends an onboarding request with a UUID that the user is responsible for generating. Once the server receives the request, it validates and records it. Then, the server processes it, initiating the onboarding procedure and tracking the status of the onboarding attempt. The user may do a GetOne or Subscribe on DeviceOnboarding using the same UUID to see the status of the request. Field Name Type Description key UUIDKey key identifies the request to onboard the device at hostname_or_ip.\nhostname_or_ip google.protobuf.StringValue hostname_or_ip is a hostname or an IP at which the device can be reached.\ndevice_type google.protobuf.StringValue device_type describes the method by which to retrieve information for the\ndevice. The value should be \u0026ldquo;eos\u0026rdquo; for eos devices. For third-party devices,\nsupported values are: \u0026ldquo;openconfig\u0026rdquo;, \u0026ldquo;snmp\u0026rdquo;, \u0026ldquo;cvp\u0026rdquo;, \u0026ldquo;mwm\u0026rdquo;, and \u0026ldquo;vCenter\u0026rdquo;.\ndevice_config DeviceConfiguration device_config is the configuration for a third-party device.\nExtendedAttributes ExtendedAttributes wraps any additional, potentially non-standard, features or attributes the device reports.\nField Name Type Description feature_enabled ExtendedAttributes.FeatureEnabledEntry[\u0026hellip;] feature_enabled is a map of feature name to enabled status.\nIf a feature is missing from this map it can be assumed off.\nExtendedAttributes.FeatureEnabledEntry Field Name Type Description key string value bool ProvisionedDevice ProvisionedDevice describes the provisioning status of an onboarded device if the onboarded device is configured for provisioning.\nField Name Type Description key DeviceKey key uniquely identifies the device.\nstatus ProvisioningStatus status describes the onboarded device\u0026rsquo;s provisioning status.\nerror google.protobuf.StringValue error is the error that caused status to become PROVISIONING_STATUS_FAILURE.\nztp_mode google.protobuf.BoolValue ztp_mode indicates whether the device is in ZTP mode.\nip_address fmp.IPAddress ip_address is the current (post-provisioning) IP address of the device.\nprovisioning_group_name google.protobuf.StringValue provisioning_group_name is the name of the group (also known as a container)\nto which the device belongs. Any provisioning operation performed on this\ngroup will also be performed on this device. If the device is not yet provisioned,\nthis will not be set. Once it is provisioned, this will be set to \u0026ldquo;undefined_container\u0026rdquo;\nwhich indicates that the device does not yet belong to a group. At this point,\na user may set it to an existing group.\nUUIDKey UUIDKey is a key that holds a UUID for an onboarding or decommissioning request.\nField Name Type Description request_id google.protobuf.StringValue request_id should be a UUID for the request.\nDecommissioningStatus DecommissioningStatus defines the set of possible states in the decommissioning process for a device.\nName Number Description DECOMMISSIONING_STATUS_UNSPECIFIED 0 DECOMMISSIONING_STATUS_IN_PROGRESS 1 DECOMMISSIONING_STATUS_IN_PROGRESS indicates decommissioning is in progress.\nDECOMMISSIONING_STATUS_FAILURE 2 DECOMMISSIONING_STATUS_FAILURE indicates decommissioning failed.\nDECOMMISSIONING_STATUS_SUCCESS 3 DECOMMISSIONING_STATUS_SUCCESS indicates decommissioning succeeded.\nOnboardingStatus OnboardingStatus defines the set of possible states in the onboarding process for a device.\nName Number Description ONBOARDING_STATUS_UNSPECIFIED 0 ONBOARDING_STATUS_IN_PROGRESS 1 ONBOARDING_STATUS_IN_PROGRESS indicates onboarding is in progress.\nONBOARDING_STATUS_FAILURE 2 ONBOARDING_STATUS_FAILURE indicates onboarding failed.\nONBOARDING_STATUS_SUCCESS 3 ONBOARDING_STATUS_SUCCESS indicates onboarding succeeded.\nProvisioningStatus ProvisioningStatus defines the set of possible states in the provisioning process for a device.\nName Number Description PROVISIONING_STATUS_UNSPECIFIED 0 PROVISIONING_STATUS_IN_PROGRESS 1 PROVISIONING_STATUS_IN_PROGRESS indicates provisioning is in progress.\nPROVISIONING_STATUS_FAILURE 2 PROVISIONING_STATUS_FAILURE indicates provisioning failed.\nPROVISIONING_STATUS_SUCCESS 3 PROVISIONING_STATUS_SUCCESS indicates provisioning succeeded.\nStreamingStatus StreamingStatus defines the status of telemetry streaming for a device.\nName Number Description STREAMING_STATUS_UNSPECIFIED 0 STREAMING_STATUS_INACTIVE 1 STREAMING_STATUS_INACTIVE indicates the device is not streaming telemetry.\nSTREAMING_STATUS_ACTIVE 2 STREAMING_STATUS_ACTIVE indicates the device is streaming telemetry.\nTop\narista/inventory.v1/services.gen.proto DeviceBatchedStreamRequest Field Name Type Description partial_eq_filter Device[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Device at end.\n* Each Device response is fully-specified (all fields set).\n* start: Returns the state of each Device at start, followed by updates until now.\n* Each Device response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Device at start, followed by updates\nuntil end.\n* Each Device response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceBatchedStreamResponse Field Name Type Description responses DeviceStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceDecommissioningBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioning[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioning at end.\n* Each DeviceDecommissioning response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioning at start, followed by updates until now.\n* Each DeviceDecommissioning response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioning at start, followed by updates\nuntil end.\n* Each DeviceDecommissioning response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceDecommissioningBatchedStreamResponse Field Name Type Description responses DeviceDecommissioningStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceDecommissioningConfigBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioningConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioningConfig at end.\n* Each DeviceDecommissioningConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioningConfig at start, followed by updates until now.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioningConfig at start, followed by updates\nuntil end.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceDecommissioningConfigBatchedStreamResponse Field Name Type Description responses DeviceDecommissioningConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceDecommissioningConfigDeleteAllRequest Field Name Type Description partial_eq_filter DeviceDecommissioningConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nDeviceDecommissioningConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey UUIDKey This is the key of the DeviceDecommissioningConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nDeviceDecommissioningConfigDeleteRequest Field Name Type Description key UUIDKey Key indicates which DeviceDecommissioningConfig instance to remove.\nThis field must always be set.\nDeviceDecommissioningConfigDeleteResponse Field Name Type Description key UUIDKey Key echoes back the key of the deleted DeviceDecommissioningConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nDeviceDecommissioningConfigDeleteSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] key contains a list of DeviceDecommissioningConfig keys to delete\nDeviceDecommissioningConfigDeleteSomeResponse DeviceDecommissioningConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key UUIDKey error string DeviceDecommissioningConfigRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceDecommissioningConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningConfigResponse Field Name Type Description value DeviceDecommissioningConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceDecommissioningConfig instance in this response.\nDeviceDecommissioningConfigSetRequest Field Name Type Description value DeviceDecommissioningConfig DeviceDecommissioningConfig carries the value to set into the datastore.\nSee the documentation on the DeviceDecommissioningConfig struct for which fields are required.\nDeviceDecommissioningConfigSetResponse Field Name Type Description value DeviceDecommissioningConfig Value carries all the values given in the DeviceDecommissioningConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nDeviceDecommissioningConfigSetSomeRequest Field Name Type Description values DeviceDecommissioningConfig[\u0026hellip;] value contains a list of DeviceDecommissioningConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nDeviceDecommissioningConfigSetSomeResponse Field Name Type Description key UUIDKey error string DeviceDecommissioningConfigSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningConfigSomeResponse Field Name Type Description value DeviceDecommissioningConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceDecommissioningConfigStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioningConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioningConfig at end.\n* Each DeviceDecommissioningConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioningConfig at start, followed by updates until now.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioningConfig at start, followed by updates\nuntil end.\n* Each DeviceDecommissioningConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceDecommissioningConfigStreamResponse Field Name Type Description value DeviceDecommissioningConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceDecommissioningConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceDecommissioningConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceDecommissioningRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceDecommissioning instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningResponse Field Name Type Description value DeviceDecommissioning Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceDecommissioning instance in this response.\nDeviceDecommissioningSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceDecommissioningSomeResponse Field Name Type Description value DeviceDecommissioning Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceDecommissioningStreamRequest Field Name Type Description partial_eq_filter DeviceDecommissioning[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceDecommissioning at end.\n* Each DeviceDecommissioning response is fully-specified (all fields set).\n* start: Returns the state of each DeviceDecommissioning at start, followed by updates until now.\n* Each DeviceDecommissioning response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceDecommissioning at start, followed by updates\nuntil end.\n* Each DeviceDecommissioning response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceDecommissioningStreamResponse Field Name Type Description value DeviceDecommissioning Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceDecommissioning\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceDecommissioning value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceOnboardingBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceOnboarding[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboarding at end.\n* Each DeviceOnboarding response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboarding at start, followed by updates until now.\n* Each DeviceOnboarding response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboarding at start, followed by updates\nuntil end.\n* Each DeviceOnboarding response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceOnboardingBatchedStreamResponse Field Name Type Description responses DeviceOnboardingStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceOnboardingConfigBatchedStreamRequest Field Name Type Description partial_eq_filter DeviceOnboardingConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboardingConfig at end.\n* Each DeviceOnboardingConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboardingConfig at start, followed by updates until now.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboardingConfig at start, followed by updates\nuntil end.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nDeviceOnboardingConfigBatchedStreamResponse Field Name Type Description responses DeviceOnboardingConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nDeviceOnboardingConfigDeleteAllRequest Field Name Type Description partial_eq_filter DeviceOnboardingConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nDeviceOnboardingConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey UUIDKey This is the key of the DeviceOnboardingConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nDeviceOnboardingConfigDeleteRequest Field Name Type Description key UUIDKey Key indicates which DeviceOnboardingConfig instance to remove.\nThis field must always be set.\nDeviceOnboardingConfigDeleteResponse Field Name Type Description key UUIDKey Key echoes back the key of the deleted DeviceOnboardingConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nDeviceOnboardingConfigDeleteSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] key contains a list of DeviceOnboardingConfig keys to delete\nDeviceOnboardingConfigDeleteSomeResponse DeviceOnboardingConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key UUIDKey error string DeviceOnboardingConfigRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceOnboardingConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingConfigResponse Field Name Type Description value DeviceOnboardingConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceOnboardingConfig instance in this response.\nDeviceOnboardingConfigSetRequest Field Name Type Description value DeviceOnboardingConfig DeviceOnboardingConfig carries the value to set into the datastore.\nSee the documentation on the DeviceOnboardingConfig struct for which fields are required.\nDeviceOnboardingConfigSetResponse Field Name Type Description value DeviceOnboardingConfig Value carries all the values given in the DeviceOnboardingConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nDeviceOnboardingConfigSetSomeRequest Field Name Type Description values DeviceOnboardingConfig[\u0026hellip;] value contains a list of DeviceOnboardingConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nDeviceOnboardingConfigSetSomeResponse Field Name Type Description key UUIDKey error string DeviceOnboardingConfigSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingConfigSomeResponse Field Name Type Description value DeviceOnboardingConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceOnboardingConfigStreamRequest Field Name Type Description partial_eq_filter DeviceOnboardingConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboardingConfig at end.\n* Each DeviceOnboardingConfig response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboardingConfig at start, followed by updates until now.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboardingConfig at start, followed by updates\nuntil end.\n* Each DeviceOnboardingConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceOnboardingConfigStreamResponse Field Name Type Description value DeviceOnboardingConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceOnboardingConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceOnboardingConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceOnboardingRequest Field Name Type Description key UUIDKey Key uniquely identifies a DeviceOnboarding instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingResponse Field Name Type Description value DeviceOnboarding Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceOnboarding instance in this response.\nDeviceOnboardingSomeRequest Field Name Type Description keys UUIDKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceOnboardingSomeResponse Field Name Type Description value DeviceOnboarding Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceOnboardingStreamRequest Field Name Type Description partial_eq_filter DeviceOnboarding[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceOnboarding at end.\n* Each DeviceOnboarding response is fully-specified (all fields set).\n* start: Returns the state of each DeviceOnboarding at start, followed by updates until now.\n* Each DeviceOnboarding response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceOnboarding at start, followed by updates\nuntil end.\n* Each DeviceOnboarding response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceOnboardingStreamResponse Field Name Type Description value DeviceOnboarding Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceOnboarding\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceOnboarding value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceRequest Field Name Type Description key DeviceKey Key uniquely identifies a Device instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceResponse Field Name Type Description value Device Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDevice instance in this response.\nDeviceSomeRequest Field Name Type Description keys DeviceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceSomeResponse Field Name Type Description value Device Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp DeviceStreamRequest Field Name Type Description partial_eq_filter Device[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Device at end.\n* Each Device response is fully-specified (all fields set).\n* start: Returns the state of each Device at start, followed by updates until now.\n* Each Device response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Device at start, followed by updates\nuntil end.\n* Each Device response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceStreamResponse Field Name Type Description value Device Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Device\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Device value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nProvisionedDeviceBatchedStreamRequest Field Name Type Description partial_eq_filter ProvisionedDevice[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProvisionedDevice at end.\n* Each ProvisionedDevice response is fully-specified (all fields set).\n* start: Returns the state of each ProvisionedDevice at start, followed by updates until now.\n* Each ProvisionedDevice response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProvisionedDevice at start, followed by updates\nuntil end.\n* Each ProvisionedDevice response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nProvisionedDeviceBatchedStreamResponse Field Name Type Description responses ProvisionedDeviceStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nProvisionedDeviceRequest Field Name Type Description key DeviceKey Key uniquely identifies a ProvisionedDevice instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProvisionedDeviceResponse Field Name Type Description value ProvisionedDevice Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nProvisionedDevice instance in this response.\nProvisionedDeviceSomeRequest Field Name Type Description keys DeviceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nProvisionedDeviceSomeResponse Field Name Type Description value ProvisionedDevice Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp ProvisionedDeviceStreamRequest Field Name Type Description partial_eq_filter ProvisionedDevice[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each ProvisionedDevice at end.\n* Each ProvisionedDevice response is fully-specified (all fields set).\n* start: Returns the state of each ProvisionedDevice at start, followed by updates until now.\n* Each ProvisionedDevice response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each ProvisionedDevice at start, followed by updates\nuntil end.\n* Each ProvisionedDevice response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nProvisionedDeviceStreamResponse Field Name Type Description value ProvisionedDevice Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this ProvisionedDevice\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the ProvisionedDevice value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nDeviceDecommissioningConfigService Method Name Request Type Response Type Description GetOne DeviceDecommissioningConfigRequest DeviceDecommissioningConfigResponse GetSome DeviceDecommissioningConfigSomeRequest DeviceDecommissioningConfigSomeResponse stream GetAll DeviceDecommissioningConfigStreamRequest DeviceDecommissioningConfigStreamResponse stream Subscribe DeviceDecommissioningConfigStreamRequest DeviceDecommissioningConfigStreamResponse stream GetMeta DeviceDecommissioningConfigStreamRequest MetaResponse SubscribeMeta DeviceDecommissioningConfigStreamRequest MetaResponse stream Set DeviceDecommissioningConfigSetRequest DeviceDecommissioningConfigSetResponse SetSome DeviceDecommissioningConfigSetSomeRequest DeviceDecommissioningConfigSetSomeResponse stream Delete DeviceDecommissioningConfigDeleteRequest DeviceDecommissioningConfigDeleteResponse DeleteSome DeviceDecommissioningConfigDeleteSomeRequest DeviceDecommissioningConfigDeleteSomeResponse stream DeleteAll DeviceDecommissioningConfigDeleteAllRequest DeviceDecommissioningConfigDeleteAllResponse stream GetAllBatched DeviceDecommissioningConfigBatchedStreamRequest DeviceDecommissioningConfigBatchedStreamResponse stream SubscribeBatched DeviceDecommissioningConfigBatchedStreamRequest DeviceDecommissioningConfigBatchedStreamResponse stream DeviceDecommissioningService Method Name Request Type Response Type Description GetOne DeviceDecommissioningRequest DeviceDecommissioningResponse GetSome DeviceDecommissioningSomeRequest DeviceDecommissioningSomeResponse stream GetAll DeviceDecommissioningStreamRequest DeviceDecommissioningStreamResponse stream Subscribe DeviceDecommissioningStreamRequest DeviceDecommissioningStreamResponse stream GetMeta DeviceDecommissioningStreamRequest MetaResponse SubscribeMeta DeviceDecommissioningStreamRequest MetaResponse stream GetAllBatched DeviceDecommissioningBatchedStreamRequest DeviceDecommissioningBatchedStreamResponse stream SubscribeBatched DeviceDecommissioningBatchedStreamRequest DeviceDecommissioningBatchedStreamResponse stream DeviceOnboardingConfigService Method Name Request Type Response Type Description GetOne DeviceOnboardingConfigRequest DeviceOnboardingConfigResponse GetSome DeviceOnboardingConfigSomeRequest DeviceOnboardingConfigSomeResponse stream GetAll DeviceOnboardingConfigStreamRequest DeviceOnboardingConfigStreamResponse stream Subscribe DeviceOnboardingConfigStreamRequest DeviceOnboardingConfigStreamResponse stream GetMeta DeviceOnboardingConfigStreamRequest MetaResponse SubscribeMeta DeviceOnboardingConfigStreamRequest MetaResponse stream Set DeviceOnboardingConfigSetRequest DeviceOnboardingConfigSetResponse SetSome DeviceOnboardingConfigSetSomeRequest DeviceOnboardingConfigSetSomeResponse stream Delete DeviceOnboardingConfigDeleteRequest DeviceOnboardingConfigDeleteResponse DeleteSome DeviceOnboardingConfigDeleteSomeRequest DeviceOnboardingConfigDeleteSomeResponse stream DeleteAll DeviceOnboardingConfigDeleteAllRequest DeviceOnboardingConfigDeleteAllResponse stream GetAllBatched DeviceOnboardingConfigBatchedStreamRequest DeviceOnboardingConfigBatchedStreamResponse stream SubscribeBatched DeviceOnboardingConfigBatchedStreamRequest DeviceOnboardingConfigBatchedStreamResponse stream DeviceOnboardingService Method Name Request Type Response Type Description GetOne DeviceOnboardingRequest DeviceOnboardingResponse GetSome DeviceOnboardingSomeRequest DeviceOnboardingSomeResponse stream GetAll DeviceOnboardingStreamRequest DeviceOnboardingStreamResponse stream Subscribe DeviceOnboardingStreamRequest DeviceOnboardingStreamResponse stream GetMeta DeviceOnboardingStreamRequest MetaResponse SubscribeMeta DeviceOnboardingStreamRequest MetaResponse stream GetAllBatched DeviceOnboardingBatchedStreamRequest DeviceOnboardingBatchedStreamResponse stream SubscribeBatched DeviceOnboardingBatchedStreamRequest DeviceOnboardingBatchedStreamResponse stream DeviceService Method Name Request Type Response Type Description GetOne DeviceRequest DeviceResponse GetSome DeviceSomeRequest DeviceSomeResponse stream GetAll DeviceStreamRequest DeviceStreamResponse stream Subscribe DeviceStreamRequest DeviceStreamResponse stream GetMeta DeviceStreamRequest MetaResponse SubscribeMeta DeviceStreamRequest MetaResponse stream GetAllBatched DeviceBatchedStreamRequest DeviceBatchedStreamResponse stream SubscribeBatched DeviceBatchedStreamRequest DeviceBatchedStreamResponse stream ProvisionedDeviceService Method Name Request Type Response Type Description GetOne ProvisionedDeviceRequest ProvisionedDeviceResponse GetSome ProvisionedDeviceSomeRequest ProvisionedDeviceSomeResponse stream GetAll ProvisionedDeviceStreamRequest ProvisionedDeviceStreamResponse stream Subscribe ProvisionedDeviceStreamRequest ProvisionedDeviceStreamResponse stream GetMeta ProvisionedDeviceStreamRequest MetaResponse SubscribeMeta ProvisionedDeviceStreamRequest MetaResponse stream GetAllBatched ProvisionedDeviceBatchedStreamRequest ProvisionedDeviceBatchedStreamResponse stream SubscribeBatched ProvisionedDeviceBatchedStreamRequest ProvisionedDeviceBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/lifecycle.v1/","title":"lifecycle.v1","tags":[],"description":"","content":" arista/lifecycle.v1/lifecycle.proto\nDateAndModels DeviceLifecycleSummary DeviceLifecycleSummaryKey HardwareLifecycleSummary SoftwareEOL arista/lifecycle.v1/services.gen.proto\nDeviceLifecycleSummaryRequest\nDeviceLifecycleSummaryResponse\nDeviceLifecycleSummaryStreamRequest\nDeviceLifecycleSummaryStreamResponse\nMetaResponse\nDeviceLifecycleSummaryService\nTop\narista/lifecycle.v1/lifecycle.proto DateAndModels DateAndModels has an \u0026ldquo;end of\u0026rdquo; date along with the models that has this exact \u0026ldquo;end of\u0026rdquo; date\nField Name Type Description date google.protobuf.Timestamp \u0026ldquo;end of\u0026rdquo; date\nmodels fmp.MapStringInt32 models with this exact \u0026ldquo;end of\u0026rdquo; date\nmapped to its count\nDeviceLifecycleSummary DeviceLifecycleSummary is the state model that represents the lifecycle summary of a device\nField Name Type Description key DeviceLifecycleSummaryKey DeviceLifecycleSummaryKey is the key of\nDeviceLifecycleSummary\nsoftware_eol SoftwareEOL software_eol is the software end of life of\na device\nhardware_lifecycle_summary HardwareLifecycleSummary hardware_lifecycle_summary is the hardware lifecycle summary\nof a device\nDeviceLifecycleSummaryKey DeviceLifecycleSummaryKey is the key type for DeviceLifecycleSummary model\nField Name Type Description device_id google.protobuf.StringValue device_id is the device ID\nHardwareLifecycleSummary HardwareLifecycleSummary represents a hardware lifecycle summary\nField Name Type Description end_of_life DateAndModels end_of_life of a HardwareLifecycleSummary\nend_of_sale DateAndModels end_of_sale of a HardwareLifecycleSummary\nend_of_tac_support DateAndModels end_of_tac_support of a HardwareLifecycleSummary\nend_of_hardware_rma_requests DateAndModels end_of_hardware_rma_requests of a HardwareLifecycleSummary\nSoftwareEOL SoftwareEOL represents a software end of life\nField Name Type Description version google.protobuf.StringValue version of a SoftwareEOL\nend_of_support google.protobuf.Timestamp end_of_support of a SoftwareEOL\nTop\narista/lifecycle.v1/services.gen.proto DeviceLifecycleSummaryRequest Field Name Type Description key DeviceLifecycleSummaryKey Key uniquely identifies a DeviceLifecycleSummary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nDeviceLifecycleSummaryResponse Field Name Type Description value DeviceLifecycleSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nDeviceLifecycleSummary instance in this response.\nDeviceLifecycleSummaryStreamRequest Field Name Type Description partial_eq_filter DeviceLifecycleSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each DeviceLifecycleSummary at end.\n* Each DeviceLifecycleSummary response is fully-specified (all fields set).\n* start: Returns the state of each DeviceLifecycleSummary at start, followed by updates until now.\n* Each DeviceLifecycleSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each DeviceLifecycleSummary at start, followed by updates\nuntil end.\n* Each DeviceLifecycleSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nDeviceLifecycleSummaryStreamResponse Field Name Type Description value DeviceLifecycleSummary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this DeviceLifecycleSummary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the DeviceLifecycleSummary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nDeviceLifecycleSummaryService Method Name Request Type Response Type Description GetOne DeviceLifecycleSummaryRequest DeviceLifecycleSummaryResponse GetAll DeviceLifecycleSummaryStreamRequest DeviceLifecycleSummaryStreamResponse stream Subscribe DeviceLifecycleSummaryStreamRequest DeviceLifecycleSummaryStreamResponse stream GetMeta DeviceLifecycleSummaryStreamRequest MetaResponse SubscribeMeta DeviceLifecycleSummaryStreamRequest MetaResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/redirector.v1/","title":"redirector.v1","tags":[],"description":"","content":" arista/redirector.v1/redirector.proto\nAssignment AssignmentKey Cluster Clusters arista/redirector.v1/services.gen.proto\nAssignmentBatchedStreamRequest\nAssignmentBatchedStreamResponse\nAssignmentRequest\nAssignmentResponse\nAssignmentSomeRequest\nAssignmentSomeResponse\nAssignmentStreamRequest\nAssignmentStreamResponse\nMetaResponse\nAssignmentService\nTop\narista/redirector.v1/redirector.proto Assignment Assignment returns the information about the regional clusters that the system is assigned to. Each cluster consists of a series of hosts, each of which the client can use to connect.\nField Name Type Description key AssignmentKey key uniquely identifies the assignment of system_id to the cluster.\nclusters Clusters clusters that the system is assigned to.\nAssignmentKey AssignmentKey allows to uniquely identify an assignment.\nField Name Type Description system_id google.protobuf.StringValue system_id is the unique identifier of a device.\nCluster Field Name Type Description name google.protobuf.StringValue name of the cluster. The name can change over time as new clusters\nare added or removed.\nhosts fmp.RepeatedString hosts in the cluster that the devices can connect to.\nClusters Clusters wraps a cluster list which contain the information about the hosts.\nField Name Type Description values Cluster[\u0026hellip;] values contains the list of clusters associated with the region\nTop\narista/redirector.v1/services.gen.proto AssignmentBatchedStreamRequest Field Name Type Description partial_eq_filter Assignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Assignment at end.\n* Each Assignment response is fully-specified (all fields set).\n* start: Returns the state of each Assignment at start, followed by updates until now.\n* Each Assignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Assignment at start, followed by updates\nuntil end.\n* Each Assignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAssignmentBatchedStreamResponse Field Name Type Description responses AssignmentStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAssignmentRequest Field Name Type Description key AssignmentKey Key uniquely identifies a Assignment instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignmentResponse Field Name Type Description value Assignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAssignment instance in this response.\nAssignmentSomeRequest Field Name Type Description keys AssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignmentSomeResponse Field Name Type Description value Assignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AssignmentStreamRequest Field Name Type Description partial_eq_filter Assignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Assignment at end.\n* Each Assignment response is fully-specified (all fields set).\n* start: Returns the state of each Assignment at start, followed by updates until now.\n* Each Assignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Assignment at start, followed by updates\nuntil end.\n* Each Assignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAssignmentStreamResponse Field Name Type Description value Assignment Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Assignment\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Assignment value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nAssignmentService Method Name Request Type Response Type Description GetOne AssignmentRequest AssignmentResponse GetSome AssignmentSomeRequest AssignmentSomeResponse stream GetAll AssignmentStreamRequest AssignmentStreamResponse stream Subscribe AssignmentStreamRequest AssignmentStreamResponse stream GetMeta AssignmentStreamRequest MetaResponse SubscribeMeta AssignmentStreamRequest MetaResponse stream GetAllBatched AssignmentBatchedStreamRequest AssignmentBatchedStreamResponse stream SubscribeBatched AssignmentBatchedStreamRequest AssignmentBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/serviceaccount.v1/","title":"serviceaccount.v1","tags":[],"description":"","content":" arista/serviceaccount.v1/serviceaccount.proto\nAccount\nAccountConfig\nAccountKey\nToken\nTokenConfig\nTokenKey\nAccountStatus\narista/serviceaccount.v1/services.gen.proto\nAccountConfigDeleteAllRequest\nAccountConfigDeleteAllResponse\nAccountConfigDeleteRequest\nAccountConfigDeleteResponse\nAccountConfigDeleteSomeRequest\nAccountConfigDeleteSomeResponse\nAccountConfigRequest\nAccountConfigResponse\nAccountConfigSetRequest\nAccountConfigSetResponse\nAccountConfigSetSomeRequest\nAccountConfigSetSomeResponse\nAccountConfigSomeRequest\nAccountConfigSomeResponse\nAccountConfigStreamRequest\nAccountConfigStreamResponse\nAccountRequest\nAccountResponse\nAccountSomeRequest\nAccountSomeResponse\nAccountStreamRequest\nAccountStreamResponse\nMetaResponse\nTokenConfigDeleteAllRequest\nTokenConfigDeleteAllResponse\nTokenConfigDeleteRequest\nTokenConfigDeleteResponse\nTokenConfigDeleteSomeRequest\nTokenConfigDeleteSomeResponse\nTokenConfigRequest\nTokenConfigResponse\nTokenConfigSetRequest\nTokenConfigSetResponse\nTokenConfigSetSomeRequest\nTokenConfigSetSomeResponse\nTokenConfigSomeRequest\nTokenConfigSomeResponse\nTokenConfigStreamRequest\nTokenConfigStreamResponse\nTokenRequest\nTokenResponse\nTokenSomeRequest\nTokenSomeResponse\nTokenStreamRequest\nTokenStreamResponse\nAccountConfigService\nAccountService\nTokenConfigService\nTokenService\nTop\narista/serviceaccount.v1/serviceaccount.proto Account Account describes a service account.\nField Name Type Description key AccountKey key uniquely identifies the service account.\nstatus AccountStatus status determines whether the service account is enabled or disabled.\ndescription google.protobuf.StringValue description is a comment describing the service account.\ngroups fmp.RepeatedString groups is a list of roles that the service account inherits permissions from.\ncreated_by google.protobuf.StringValue created_by is the name of the entity that created the service account.\nlast_access google.protobuf.Timestamp last_access is the time when the service account was last fetched.\nAccountConfig AccountConfig holds the configuration for a service account.\nField Name Type Description key AccountKey key contains the name of the service account.\nstatus AccountStatus status determines if the service account is enabled or disabled. New service accounts are\nenabled by default.\ndescription google.protobuf.StringValue description is a comment describing the service account.\ngroups fmp.RepeatedString groups is a list of roles that the service account inherits permissions from.\nAccountKey AccountKey contains the name of the service account.\nField Name Type Description name google.protobuf.StringValue name is the unique identifier of the service account.\nToken Token describes a service account token.\nField Name Type Description key TokenKey key uniquely identifies the service account token.\nuser google.protobuf.StringValue user is the name of the service account that the token is generated for.\ndescription google.protobuf.StringValue description is a short name or comment used to identify the service account token.\nvalid_until google.protobuf.Timestamp valid_until is the time that the service account token will be valid until.\ncreated_by google.protobuf.StringValue created_by is the name of the entity that created the service account token.\nlast_used google.protobuf.Timestamp last_used is the time when the service account token was last used to authenticate.\nTokenConfig TokenConfig holds the configuration for a service account token. The token is a signed JWT which can be used as a credential for REST and WRPC endpoints.\nField Name Type Description key TokenKey key uniquely identifies the service account token.\nuser google.protobuf.StringValue user is the name of the service account that the token is generated for.\ndescription google.protobuf.StringValue description is a short name or comment used to identify the service account token.\nvalid_for google.protobuf.Duration valid_for determines the duration that the service account token will be valid for.\ntoken google.protobuf.StringValue token is the JWT token generated for a service account token.\nIt is only populated in Set response.\nTokenKey TokenKey contains service account token ID.\nField Name Type Description id google.protobuf.StringValue id is the unique identifier of the service account token.\nAccountStatus AccountStatus determines whether an service account is enabled or disabled.\nName Number Description ACCOUNT_STATUS_UNSPECIFIED 0 ACCOUNT_STATUS_UNSPECIFIED indicates the service account status is unspecified.\nACCOUNT_STATUS_ENABLED 1 ACCOUNT_STATUS_ENABLED indicates the service account is enabled.\nACCOUNT_STATUS_DISABLED 2 ACCOUNT_STATUS_DISABLED indicates the service account is disabled.\nTop\narista/serviceaccount.v1/services.gen.proto AccountConfigDeleteAllRequest Field Name Type Description partial_eq_filter AccountConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nAccountConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey AccountKey This is the key of the AccountConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nAccountConfigDeleteRequest Field Name Type Description key AccountKey Key indicates which AccountConfig instance to remove.\nThis field must always be set.\nAccountConfigDeleteResponse Field Name Type Description key AccountKey Key echoes back the key of the deleted AccountConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nAccountConfigDeleteSomeRequest Field Name Type Description keys AccountKey[\u0026hellip;] key contains a list of AccountConfig keys to delete\nAccountConfigDeleteSomeResponse AccountConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key AccountKey error string AccountConfigRequest Field Name Type Description key AccountKey Key uniquely identifies a AccountConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountConfigResponse Field Name Type Description value AccountConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAccountConfig instance in this response.\nAccountConfigSetRequest Field Name Type Description value AccountConfig AccountConfig carries the value to set into the datastore.\nSee the documentation on the AccountConfig struct for which fields are required.\nAccountConfigSetResponse Field Name Type Description value AccountConfig Value carries all the values given in the AccountConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAccountConfigSetSomeRequest Field Name Type Description values AccountConfig[\u0026hellip;] value contains a list of AccountConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nAccountConfigSetSomeResponse Field Name Type Description key AccountKey error string AccountConfigSomeRequest Field Name Type Description keys AccountKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountConfigSomeResponse Field Name Type Description value AccountConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AccountConfigStreamRequest Field Name Type Description partial_eq_filter AccountConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AccountConfig at end.\n* Each AccountConfig response is fully-specified (all fields set).\n* start: Returns the state of each AccountConfig at start, followed by updates until now.\n* Each AccountConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AccountConfig at start, followed by updates\nuntil end.\n* Each AccountConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAccountConfigStreamResponse Field Name Type Description value AccountConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AccountConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AccountConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAccountRequest Field Name Type Description key AccountKey Key uniquely identifies a Account instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountResponse Field Name Type Description value Account Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAccount instance in this response.\nAccountSomeRequest Field Name Type Description keys AccountKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAccountSomeResponse Field Name Type Description value Account Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AccountStreamRequest Field Name Type Description partial_eq_filter Account[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Account at end.\n* Each Account response is fully-specified (all fields set).\n* start: Returns the state of each Account at start, followed by updates until now.\n* Each Account response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Account at start, followed by updates\nuntil end.\n* Each Account response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAccountStreamResponse Field Name Type Description value Account Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Account\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Account value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nTokenConfigDeleteAllRequest Field Name Type Description partial_eq_filter TokenConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nTokenConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TokenKey This is the key of the TokenConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTokenConfigDeleteRequest Field Name Type Description key TokenKey Key indicates which TokenConfig instance to remove.\nThis field must always be set.\nTokenConfigDeleteResponse Field Name Type Description key TokenKey Key echoes back the key of the deleted TokenConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTokenConfigDeleteSomeRequest Field Name Type Description keys TokenKey[\u0026hellip;] key contains a list of TokenConfig keys to delete\nTokenConfigDeleteSomeResponse TokenConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TokenKey error string TokenConfigRequest Field Name Type Description key TokenKey Key uniquely identifies a TokenConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenConfigResponse Field Name Type Description value TokenConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTokenConfig instance in this response.\nTokenConfigSetRequest Field Name Type Description value TokenConfig TokenConfig carries the value to set into the datastore.\nSee the documentation on the TokenConfig struct for which fields are required.\nTokenConfigSetResponse Field Name Type Description value TokenConfig Value carries all the values given in the TokenConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTokenConfigSetSomeRequest Field Name Type Description values TokenConfig[\u0026hellip;] value contains a list of TokenConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTokenConfigSetSomeResponse Field Name Type Description key TokenKey error string TokenConfigSomeRequest Field Name Type Description keys TokenKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenConfigSomeResponse Field Name Type Description value TokenConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TokenConfigStreamRequest Field Name Type Description partial_eq_filter TokenConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TokenConfig at end.\n* Each TokenConfig response is fully-specified (all fields set).\n* start: Returns the state of each TokenConfig at start, followed by updates until now.\n* Each TokenConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TokenConfig at start, followed by updates\nuntil end.\n* Each TokenConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTokenConfigStreamResponse Field Name Type Description value TokenConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TokenConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TokenConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTokenRequest Field Name Type Description key TokenKey Key uniquely identifies a Token instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenResponse Field Name Type Description value Token Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nToken instance in this response.\nTokenSomeRequest Field Name Type Description keys TokenKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTokenSomeResponse Field Name Type Description value Token Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TokenStreamRequest Field Name Type Description partial_eq_filter Token[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Token at end.\n* Each Token response is fully-specified (all fields set).\n* start: Returns the state of each Token at start, followed by updates until now.\n* Each Token response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Token at start, followed by updates\nuntil end.\n* Each Token response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTokenStreamResponse Field Name Type Description value Token Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Token\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Token value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAccountConfigService Method Name Request Type Response Type Description GetOne AccountConfigRequest AccountConfigResponse GetSome AccountConfigSomeRequest AccountConfigSomeResponse stream GetAll AccountConfigStreamRequest AccountConfigStreamResponse stream Subscribe AccountConfigStreamRequest AccountConfigStreamResponse stream GetMeta AccountConfigStreamRequest MetaResponse SubscribeMeta AccountConfigStreamRequest MetaResponse stream Set AccountConfigSetRequest AccountConfigSetResponse SetSome AccountConfigSetSomeRequest AccountConfigSetSomeResponse stream Delete AccountConfigDeleteRequest AccountConfigDeleteResponse DeleteSome AccountConfigDeleteSomeRequest AccountConfigDeleteSomeResponse stream DeleteAll AccountConfigDeleteAllRequest AccountConfigDeleteAllResponse stream AccountService Method Name Request Type Response Type Description GetOne AccountRequest AccountResponse GetSome AccountSomeRequest AccountSomeResponse stream GetAll AccountStreamRequest AccountStreamResponse stream Subscribe AccountStreamRequest AccountStreamResponse stream GetMeta AccountStreamRequest MetaResponse SubscribeMeta AccountStreamRequest MetaResponse stream TokenConfigService Method Name Request Type Response Type Description GetOne TokenConfigRequest TokenConfigResponse GetSome TokenConfigSomeRequest TokenConfigSomeResponse stream GetAll TokenConfigStreamRequest TokenConfigStreamResponse stream Subscribe TokenConfigStreamRequest TokenConfigStreamResponse stream GetMeta TokenConfigStreamRequest MetaResponse SubscribeMeta TokenConfigStreamRequest MetaResponse stream Set TokenConfigSetRequest TokenConfigSetResponse SetSome TokenConfigSetSomeRequest TokenConfigSetSomeResponse stream Delete TokenConfigDeleteRequest TokenConfigDeleteResponse DeleteSome TokenConfigDeleteSomeRequest TokenConfigDeleteSomeResponse stream DeleteAll TokenConfigDeleteAllRequest TokenConfigDeleteAllResponse stream TokenService Method Name Request Type Response Type Description GetOne TokenRequest TokenResponse GetSome TokenSomeRequest TokenSomeResponse stream GetAll TokenStreamRequest TokenStreamResponse stream Subscribe TokenStreamRequest TokenStreamResponse stream GetMeta TokenStreamRequest MetaResponse SubscribeMeta TokenStreamRequest MetaResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/studio.v1/","title":"studio.v1","tags":[],"description":"","content":" arista/studio.v1/studio.proto\nAssignedTags\nAssignedTagsConfig\nAutofillAction\nAutofillActionConfig\nAutofillActionKey\nAutofillArgumentProvider\nAutofillArgumentProviders\nAutofillArgumentProviders.ValuesEntry\nBooleanInputFieldProps\nCollectionInputFieldProps\nEntities\nEntities.ValuesEntry\nEntity\nFloatInputFieldProps\nGroupInputFieldProps\nInputField\nInputFields\nInputFields.ValuesEntry\nInputSchema\nInputs\nInputsConfig\nInputsKey\nIntegerInputFieldProps\nLayout\nResolverInputFieldProps\nSecretInput\nStringInputFieldProps\nStudio\nStudioConfig\nStudioKey\nStudioSummary\nTagMatcherInputFieldProps\nTemplate\nAutofillProviderType\nEntityType\nInputFieldType\nResolverFieldDisplayMode\nResolverFieldInputMode\nTagMatcherFieldMode\nTemplateType\narista/studio.v1/services.gen.proto\nAssignedTagsBatchedStreamRequest\nAssignedTagsBatchedStreamResponse\nAssignedTagsConfigBatchedStreamRequest\nAssignedTagsConfigBatchedStreamResponse\nAssignedTagsConfigDeleteAllRequest\nAssignedTagsConfigDeleteAllResponse\nAssignedTagsConfigDeleteRequest\nAssignedTagsConfigDeleteResponse\nAssignedTagsConfigDeleteSomeRequest\nAssignedTagsConfigDeleteSomeResponse\nAssignedTagsConfigRequest\nAssignedTagsConfigResponse\nAssignedTagsConfigSetRequest\nAssignedTagsConfigSetResponse\nAssignedTagsConfigSetSomeRequest\nAssignedTagsConfigSetSomeResponse\nAssignedTagsConfigSomeRequest\nAssignedTagsConfigSomeResponse\nAssignedTagsConfigStreamRequest\nAssignedTagsConfigStreamResponse\nAssignedTagsRequest\nAssignedTagsResponse\nAssignedTagsSomeRequest\nAssignedTagsSomeResponse\nAssignedTagsStreamRequest\nAssignedTagsStreamResponse\nAutofillActionBatchedStreamRequest\nAutofillActionBatchedStreamResponse\nAutofillActionConfigBatchedStreamRequest\nAutofillActionConfigBatchedStreamResponse\nAutofillActionConfigDeleteAllRequest\nAutofillActionConfigDeleteAllResponse\nAutofillActionConfigDeleteRequest\nAutofillActionConfigDeleteResponse\nAutofillActionConfigDeleteSomeRequest\nAutofillActionConfigDeleteSomeResponse\nAutofillActionConfigRequest\nAutofillActionConfigResponse\nAutofillActionConfigSetRequest\nAutofillActionConfigSetResponse\nAutofillActionConfigSetSomeRequest\nAutofillActionConfigSetSomeResponse\nAutofillActionConfigSomeRequest\nAutofillActionConfigSomeResponse\nAutofillActionConfigStreamRequest\nAutofillActionConfigStreamResponse\nAutofillActionRequest\nAutofillActionResponse\nAutofillActionSomeRequest\nAutofillActionSomeResponse\nAutofillActionStreamRequest\nAutofillActionStreamResponse\nInputsBatchedStreamRequest\nInputsBatchedStreamResponse\nInputsConfigBatchedStreamRequest\nInputsConfigBatchedStreamResponse\nInputsConfigDeleteAllRequest\nInputsConfigDeleteAllResponse\nInputsConfigDeleteRequest\nInputsConfigDeleteResponse\nInputsConfigDeleteSomeRequest\nInputsConfigDeleteSomeResponse\nInputsConfigRequest\nInputsConfigResponse\nInputsConfigSetRequest\nInputsConfigSetResponse\nInputsConfigSetSomeRequest\nInputsConfigSetSomeResponse\nInputsConfigSomeRequest\nInputsConfigSomeResponse\nInputsConfigStreamRequest\nInputsConfigStreamResponse\nInputsRequest\nInputsResponse\nInputsSomeRequest\nInputsSomeResponse\nInputsStreamRequest\nInputsStreamResponse\nMetaResponse\nSecretInputBatchedStreamRequest\nSecretInputBatchedStreamResponse\nSecretInputRequest\nSecretInputResponse\nSecretInputSomeRequest\nSecretInputSomeResponse\nSecretInputStreamRequest\nSecretInputStreamResponse\nStudioBatchedStreamRequest\nStudioBatchedStreamResponse\nStudioConfigBatchedStreamRequest\nStudioConfigBatchedStreamResponse\nStudioConfigDeleteAllRequest\nStudioConfigDeleteAllResponse\nStudioConfigDeleteRequest\nStudioConfigDeleteResponse\nStudioConfigDeleteSomeRequest\nStudioConfigDeleteSomeResponse\nStudioConfigRequest\nStudioConfigResponse\nStudioConfigSetRequest\nStudioConfigSetResponse\nStudioConfigSetSomeRequest\nStudioConfigSetSomeResponse\nStudioConfigSomeRequest\nStudioConfigSomeResponse\nStudioConfigStreamRequest\nStudioConfigStreamResponse\nStudioRequest\nStudioResponse\nStudioSomeRequest\nStudioSomeResponse\nStudioStreamRequest\nStudioStreamResponse\nStudioSummaryBatchedStreamRequest\nStudioSummaryBatchedStreamResponse\nStudioSummaryRequest\nStudioSummaryResponse\nStudioSummarySomeRequest\nStudioSummarySomeResponse\nStudioSummaryStreamRequest\nStudioSummaryStreamResponse\nAssignedTagsConfigService\nAssignedTagsService\nAutofillActionConfigService\nAutofillActionService\nInputsConfigService\nInputsService\nSecretInputService\nStudioConfigService\nStudioService\nStudioSummaryService\nTop\narista/studio.v1/studio.proto NOTE: This is a workspace-aware Resource API. Please see workspace.v1 for more information.\nAssignedTags AssignedTags can be used to retrieve additional metadata about a studio\u0026rsquo;s AssignedTagsConfig.\nField Name Type Description key StudioKey key uniquely identifies the studio to which devices were assigned.\ncreated_at google.protobuf.Timestamp created_at is the time at which the assignment was first created.\ncreated_by google.protobuf.StringValue created_by is the name of the user that created the assignment.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the assignment was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the assignment.\nquery google.protobuf.StringValue query is a tag query string that conforms to the CloudVision\ntag query language. See AssignedTagsConfig.\nAssignedTagsConfig AssignedTagsConfig holds a configuration to assign a studio to a set of devices matching a tag query.\nField Name Type Description key StudioKey key uniquely identifies the studio to which to assign devices.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the tag assignments involving the studio identified\nby the key if the encompassing workspace merges. Other data\nfields are not allowed if this field is set to true.\nquery google.protobuf.StringValue query is a tag query string that conforms to the CloudVision\ntag query language. E.g., the query, \u0026quot;datacenter:NYC,SFO AND\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;sflow:enabled\u0026quot;, matches all devices with sflow enabled in\ndata centers NYC and SFO.\nAutofillAction AutofillAction can be used to retrieve additional metadata about an autofill action.\nField Name Type Description key AutofillActionKey key uniquely identifies the action-to-studio association.\ncreated_at google.protobuf.Timestamp created_at is the time at which the inputs were first set.\ncreated_by google.protobuf.StringValue created_by is the name of the user that first set the inputs.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the inputs were last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the inputs.\naction_id google.protobuf.StringValue action_id uniquely identifies the autofill action associated with the input field.\ndescription google.protobuf.StringValue description is an optional field to describe the autofill action that will be\ndisplayed in a tooltip in the UI when the user hovers over the button to run\nthe autofill action.\nargument_providers AutofillArgumentProviders argument_providers is an optional field that specifies how dynamic arguments are\nto be provided to the autofill action when executed. If an argument is omitted\nfrom the provider map, it will not be defined in the arguments passed to the scripts.\nIf the entire field is omitted, no additional argument values will be passed to the\nscript beyond any statically defined arguments and the system-provided arguments\nwhich are always set in an autofill action execution context (namely InputPath,\nStudioID, and WorkspaceID).\nAutofillActionConfig AutofillActionConfig contains configuration information for an autofill action.\nField Name Type Description key AutofillActionKey key uniquely identifies the action-to-studio association.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false, unset)\nthe autofill action configuration identified by the key if the encompassing\nworkspace merges. Other data fields are not allowed if this field is set to true.\naction_id google.protobuf.StringValue action_id uniquely identifies the autofill action associated with the input field.\ndescription google.protobuf.StringValue description is an optional field to describe the autofill action that will be\ndisplayed in a tooltip in the UI when the user hovers over the button to run\nthe autofill action.\nargument_providers AutofillArgumentProviders argument_providers is an optional field that specifies how dynamic arguments are\nto be provided to the autofill action when executed. If an argument is omitted\nfrom the provider map, it will not be defined in the arguments passed to the scripts.\nIf the entire field is omitted, no additional argument values will be passed to the\nscript beyond any statically defined arguments and the system-provided arguments\nwhich are always set in an autofill action execution context (namely InputPath,\nStudioId, and WorkspaceId).\nAutofillActionKey AutofillActionKey identifies an autofill action.\nField Name Type Description studio_id google.protobuf.StringValue studio_id uniquely identifies the studio in the workspace indicated\nby workspace_id.\nworkspace_id google.protobuf.StringValue workspace_id uniquely identifies the workspace in which the studio resides.\ninput_field_id google.protobuf.StringValue input_field_id uniquely identifies the input field within the schema associated\nwith the action indicated by action_id.\nAutofillArgumentProvider AutofillArgumentProvider describes a particular dynamic argument\u0026rsquo;s type and value (if applicable).\nField Name Type Description type AutofillProviderType type is the type of argument provider, describing how it is to be\nhandled when the associated action is called.\nvalue google.protobuf.StringValue value is the value of the argument, if provided.\nWhen the provider type is PROVIDER_TYPE_USER_SPECIFIED, the field may be nil. If non-nil,\nthe field contains a default value for the user input.\nWhen the provider type is PROVIDER_TYPE_PREDEFINED, the field contains the predefined\nvalue.\nWhen the provider type is PROVIDER_TYPE_LINKED, the field contains the linked input\nfield\u0026rsquo;s ID.\nAutofillArgumentProviders AutofillArgumentProviders is a map of dynamic argument name to argument provider information.\nField Name Type Description values AutofillArgumentProviders.ValuesEntry[\u0026hellip;] values is a map of dynamic argument name to argument provider information.\nAutofillArgumentProviders.ValuesEntry Field Name Type Description key string value AutofillArgumentProvider BooleanInputFieldProps BooleanInputFieldProps defines the set of properties for a single boolean field in a studio input schema.\nField Name Type Description default_value google.protobuf.BoolValue default_value is the default value of the boolean.\nCollectionInputFieldProps CollectionInputFieldProps defines the set of properties for a single collection field in a studio input schema.\nField Name Type Description base_field_id google.protobuf.StringValue base_field_id (required) identifies the field in the schema\nthat should be used as the type for each element in the\ncollection.\nkey google.protobuf.StringValue key can be used when base_field_id references a group field,\nand it identifies the field in that group that should be used\nas the key for each element in the collection. This is used\nfor display purposes only.\nEntities Entities is a list of Entity.\nField Name Type Description values Entities.ValuesEntry[\u0026hellip;] values is a map from entity type name to entity\nThe possible keys to this map are ENTITY_TYPE_STUDIO,\nENTITY_TYPE_INPUTS, ENTITY_TYPE_ASSIGNED_TAGS,\nENTITY_TYPE_BUILD_HOOK and ENTITY_TYPE_AUTOFILL_ACTION.\nEntities.ValuesEntry Field Name Type Description key string value Entity Entity Entity holds the basic information of an entity.\nField Name Type Description entity_type EntityType EntityType is the type of the entity.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the entity was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the entity.\nremoved google.protobuf.BoolValue removed indicates if the entity is removed.\nFloatInputFieldProps FloatInputFieldProps defines the set of properties for a single float field in a studio input schema.\nField Name Type Description default_value google.protobuf.FloatValue default_value is the default value of the float.\nstatic_options fmp.RepeatedFloat static_options defines the set of possible values for the float.\ndynamic_options fmp.RepeatedString dynamic_options defines the set of possible values for the float\nbased on the possible values for other floats in the schema.\nEach field should be referenced by a JSON object of the form\n{ \u0026quot;fieldId\u0026quot;: \u0026lt;field_id\u0026gt; }.\nE.g,\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;floatField1ID\u0026quot; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;floatField2ID\u0026quot; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nHere, the possible values for the floats identified by\n\u0026quot;floatField1ID\u0026quot; and \u0026quot;floatField2ID\u0026quot; are used as the\npossible values for this float.\nextra_values_allowed google.protobuf.BoolValue extra_values_allowed allows adding values to the field in\naddition to what\u0026rsquo;s allowed by static_options/dynamic_options.\nGroupInputFieldProps GroupInputFieldProps defines the set of properties for a single group field in a studio input schema.\nField Name Type Description members fmp.RepeatedString members (required) identifies the member fields of the group\nas defined in the schema.\nInputField InputField defines the set of properties for a single field in a studio input schema.\nField Name Type Description id google.protobuf.StringValue id (required) uniquely identifies the field within the schema.\ntype InputFieldType type (required) specifies the type for the field.\nname google.protobuf.StringValue name (required) is the variable name by which the field can be\nreferenced in the template for the studio.\nlabel google.protobuf.StringValue label (required) is the label of the field as displayed on the UI.\ndescription google.protobuf.StringValue description is a short description of the field.\nrequired google.protobuf.BoolValue required indicates whether the field always requires a value. This\nis false by default.\nboolean_props BooleanInputFieldProps boolean_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_BOOLEAN.\ninteger_props IntegerInputFieldProps integer_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_INTEGER.\nfloat_props FloatInputFieldProps float_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_FLOAT.\nstring_props StringInputFieldProps string_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_STRING.\ngroup_props GroupInputFieldProps group_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_GROUP.\ncollection_props CollectionInputFieldProps collection_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_COLLECTION.\nresolver_props ResolverInputFieldProps resolver_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_RESOLVER.\nauto_fill_action_id google.protobuf.StringValue auto_fill_action_id identifies the autofill action that can be\nused to automatically populate the value of this field on the\nUI.\ntag_matcher_props TagMatcherInputFieldProps tag_matcher_props defines properties for the field if it is of type\nINPUT_FIELD_TYPE_TAG_MATCHER.\nInputFields InputFields is a collection of InputField.\nField Name Type Description values InputFields.ValuesEntry[\u0026hellip;] values (required) is a map from input field ID to InputField.\nInputFields.ValuesEntry Field Name Type Description key string value InputField InputSchema InputSchema defines an input schema for a studio, which determines the values that can be input into the studio.\nField Name Type Description fields InputFields fields (required) are the set of fields that make up the schema.\nlayout Layout layout (UI only) defines the display properties for fields.\nInputs Inputs is used to retrieve the existing inputs to a studio.\nField Name Type Description key InputsKey key uniquely identifies the set of inputs for the studio (at some path).\ncreated_at google.protobuf.Timestamp created_at is the time at which the inputs were first set.\ncreated_by google.protobuf.StringValue created_by is the name of the user that first set the inputs.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the inputs were last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the inputs.\ninputs google.protobuf.StringValue inputs is the value of the input field at the path as a JSON string.\nNOTE: For GetAll and Subscribe, if the JSON is too large, it will\nbe split across multiple messages such that each is less than the Resource\nAPI message size limit (1MB).\nInputsConfig InputsConfig is used to input values into a studio.\nNOTE: Setting an input at a higher path overwrite any prior Sets at lower paths. E.g.,\nSet [\u0026quot;A\u0026quot;, \u0026quot;X\u0026quot;] to \u0026quot;foo\u0026quot; Set [\u0026quot;A\u0026quot;, \u0026quot;Y\u0026quot;] to \u0026quot;bar\u0026quot; Set [\u0026quot;A\u0026quot;] to {\u0026quot;X\u0026quot;: \u0026quot;bar\u0026quot;} The resulting inputs would be:\n{ \u0026#34;A\u0026#34;: { \u0026#34;X\u0026#34;: \u0026#34;bar\u0026#34; } } Field Name Type Description key InputsKey key uniquely identifies the set of inputs for the studio (at some path).\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the inputs identified by the key if the encompassing\nworkspace merges. Other data fields are not allowed if this\nfield is set to true.\ninputs google.protobuf.StringValue inputs is the value of the input field at the path as a\nJSON string. It can be the value for a simple or complex\ninput field.\nSimple types (booleans, integers, floats, strings) map to\ntheir JSON equivalents.\nComplex types map to either arrays or objects:\n* The group field type maps to a JSON object, where keys\nare group members.\n* The collection field type maps to a JSON array.\n* The resolver field type maps to a JSON array, where each\nelement is an object of the form:\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\u0026quot;tags\u0026quot;: { \u0026quot;query\u0026quot;: \u0026lt;query\u0026gt; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\u0026quot;inputs\u0026quot;: \u0026lt;input\u0026gt;\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;}\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nAbove, \u0026lt;input\u0026gt; is the value of the base field of the resolver.\nE.g., if the base field is a group with one string member \u0026quot;A\u0026quot;,\nthe resolver inputs would be specified as:\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\u0026quot;inputs\u0026quot;: { \u0026quot;A\u0026quot;: \u0026lt;value\u0026gt; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nInputsKey InputsKey identifies a set of inputs for a particular studio.\nField Name Type Description studio_id google.protobuf.StringValue studio_id uniquely identifies the studio in the workspace indicated\nby workspace_id.\nworkspace_id google.protobuf.StringValue workspace_id uniquely identifies the workspace in which the studio resides.\npath fmp.RepeatedString path is the sequence of elements that uniquely identify an input field.\nAn empty path ([]) stands for the root of the inputs, or the entire\nset of inputs for the studio.\nThe members of a group are referenced by field name. E.g., for a group\nA with a member B, the path to B would be [\u0026quot;A\u0026quot;, \u0026quot;B\u0026quot;].\nThe members of a collection or resolver are referenced by an integer\nstring. E.g., for a collection A with three members, the path to the\nsecond member would be [\u0026quot;A\u0026quot;, \u0026quot;1\u0026quot;].\nIntegerInputFieldProps IntegerInputFieldProps defines the set of properties for a single integer field in a studio input schema.\nField Name Type Description default_value google.protobuf.Int64Value default_value is the default value of the integer.\nstatic_options fmp.RepeatedInt64 static_options defines the set of possible values for the integer.\nrange google.protobuf.StringValue range imposes a range (inclusive) on the value of the integer.\nThis should be of the form \u0026quot;\u0026lt;min\u0026gt;..\u0026lt;max\u0026gt;\u0026quot;. E.g., \u0026quot;-10..10\u0026quot;\nmeans the integer can be anything in between and including -10\nand 10.\ndynamic_options fmp.RepeatedString dynamic_options defines the set of possible values for the integer\nbased on the possible values for other integers in the schema.\nEach field should be referenced by a JSON object of the form\n{ \u0026quot;fieldId\u0026quot;: \u0026lt;field_id\u0026gt; }.\nE.g,\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;vlanFieldID\u0026quot; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;vniFieldID\u0026quot; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nHere, the possible values for the integers identified by\n\u0026quot;vlanFieldID\u0026quot; and \u0026quot;vniFieldID\u0026quot; are used as the possible\nvalues for this integer.\nextra_values_allowed google.protobuf.BoolValue extra_values_allowed allows adding values to the field in\naddition to what\u0026rsquo;s allowed by static_options/dynamic_options.\nLayout Layout specifies the display properties for input fields. This is intended for UI usage only.\nField Name Type Description value google.protobuf.StringValue value is a JSON object containing the layout config.\nResolverInputFieldProps ResolverInputFieldProps defines the set of properties for a single resolver field in a studio input schema.\nField Name Type Description base_field_id google.protobuf.StringValue base_field_id (required) identifies the field in the schema\nto which the resolver query maps.\ndisplay_mode ResolverFieldDisplayMode display_mode (required) is the display mode of the resolver.\ninput_mode ResolverFieldInputMode input_mode (required) is the input mode of the resolver.\ninput_tag_label google.protobuf.StringValue input_tag_label can be used when input_mode is one of\nRESOLVER_FIELD_INPUT_MODE_SINGLE_*_TAG and it specifies\nthe tag label must be used in the resolver query.\ntag_filter_query google.protobuf.StringValue tag_filter_query limits the set of elements that the\nresolver query can return. E.g., \u0026quot;device:D1,D2\u0026quot; will\nconstrain results to the devices D1 and D2.\nSecretInput SecretInput can be used to retrieve the unmasked value of a secret in a studio.\nField Name Type Description key InputsKey key identifies the secret in the studio inputs.\nplain_text google.protobuf.StringValue plain_text is the unmasked value of the secret.\nStringInputFieldProps StringInputFieldProps defines the set of properties for a single string field in a studio input schema.\nField Name Type Description default_value google.protobuf.StringValue default_value is the default value of the string.\nstatic_options fmp.RepeatedString static_options defines the set of possible values for the string.\ndynamic_options fmp.RepeatedString dynamic_options defines the set of possible values for the string\nbased on the possible values for other strings in the schema.\nEach field should be referenced by a JSON object of the form\n{ \u0026quot;fieldId\u0026quot;: \u0026lt;field_id\u0026gt; }.\nE.g,\n\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;[\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;deviceFieldID\u0026quot; },\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;{ \u0026quot;fieldId\u0026quot;: \u0026quot;ipFieldID\u0026quot; }\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;]\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;\nHere, the possible values for the strings identified by\n\u0026quot;deviceFieldID\u0026quot; and \u0026quot;ipFieldID\u0026quot; are used as the possible\nvalues for this string.\nlength google.protobuf.StringValue length imposes a length range (inclusive) on the value of the\nstring. The should be of the form \u0026quot;\u0026lt;min\u0026gt;..\u0026lt;max\u0026gt;\u0026quot;. E.g.,\n\u0026quot;3..7\u0026quot; means the value of the string can be three to seven\ncharacters long.\npattern google.protobuf.StringValue pattern imposes a regular expression matching constraint on\nthe value of the string. This should be a Google RE2-compliant\nregular expression (https://github.com/google/re2/wiki/Syntax).\nformat google.protobuf.StringValue format imposes a well-known format on the value of the string.\nThe supported formats are:\n* \u0026quot;ip\u0026quot;: an IPv4 or IPv6 address\n* \u0026quot;ipv4\u0026quot;: an IPv4 address\n* \u0026quot;ipv6\u0026quot;: an IPv6 address\n* \u0026quot;mac\u0026quot;: a MAC address\n* \u0026quot;cidr\u0026quot;: an IPv4 or IPv6 address in CIDR notation (e.g. 10.1.1.1/24, 2001:db8:a0b::1/32)\n* \u0026quot;cidrv4\u0026quot;: an IPv4 address in CIDR notation (e.g. 10.1.1.1/24)\n* \u0026quot;cidrv6\u0026quot;: an IPv6 address in CIDR notation (e.g. 2001:db8:a0b::1/32)\n* \u0026quot;url\u0026quot;: a URL (e.g., http://www.google.com)\nis_secret google.protobuf.BoolValue is_secret specifies whether the string is a secret and its\nvalue should be masked. E.g., if this is set to true and\nthe value of the string is \u0026quot;secret-value-1\u0026quot;, it will be\nmasked as \u0026quot;**********\u0026quot;.\nextra_values_allowed google.protobuf.BoolValue extra_values_allowed allows adding values to the field in\naddition to what\u0026rsquo;s allowed by static_options/dynamic_options.\nStudio Studio holds the active state for a studio.\nField Name Type Description key StudioKey key uniquely identifies the studio.\ncreated_at google.protobuf.Timestamp created_at is the time at which the studio was created.\ncreated_by google.protobuf.StringValue created_by is the name of the user that created the studio.\nlast_modified_at google.protobuf.Timestamp last_modified_at is the time at which the studio was last modified.\nlast_modified_by google.protobuf.StringValue last_modified_by is the name of the user that last modified the studio.\ndisplay_name google.protobuf.StringValue display_name is the name of this studio as displayed on the UI.\nThis and remaining fields are config fields, with workspace changes applied on top of\nmainline. This resource will be present in the workspace only if\nthe studio is modified (via the StudioConfig resource).\ndescription google.protobuf.StringValue description is a brief description of the studio.\ntemplate Template template is a script that builds the device configuration from the\ninputs that are described by input_schema.\ninput_schema InputSchema input_schema is the schema for the studio inputs that are processed\nby template.\nfrom_package google.protobuf.StringValue from_package indicates that this studio was created by a package, and can only be modified\nby the packaging service.\nStudioConfig StudioConfig holds a configuration for a studio.\nChanges to fields other than key and remove are applied to a copy of the mainline.\nField Name Type Description key StudioKey key uniquely identifies the studio.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the studio identified by the key if the encompassing\nworkspace merges. Other data fields are not allowed if this\nfield is set to true.\ndisplay_name google.protobuf.StringValue display_name is the name of this studio as displayed on the UI.\nThis and remaining fields are config fields, with workspace changes to be applied\non top of mainline. The corresponding Studio will be present\nin the workspace only if the studio is modified (via this resource).\ndescription google.protobuf.StringValue description is a brief description of the studio.\ntemplate Template template is a script that builds the device configuration from the\ninputs that are described by input_schema.\ninput_schema InputSchema input_schema is the schema for the studio inputs that are processed\nby template.\nStudioKey StudioKey uniquely identifies a studio.\nField Name Type Description studio_id google.protobuf.StringValue studio_id uniquely identifies the studio in the workspace indicated\nby workspace_id.\nworkspace_id google.protobuf.StringValue workspace_id identifies the workspace within which the studio resides.\nStudioSummary StudioSummary holds basic information about a studio.\nField Name Type Description key StudioKey key uniquely identifies the studio.\ndisplay_name google.protobuf.StringValue display_name is the name of this studio as displayed on the UI.\ndescription google.protobuf.StringValue description is a brief description of the studio.\nimmutable google.protobuf.BoolValue immutable indicates if read-write studio management\naccess over a given studio is granted or not.\nIf studio is immutable, its display name, description,\nschema and template cannot be modified.\nentities Entities entities indicate all the entities of the studio.\nin_use google.protobuf.BoolValue in_use indicates that the studio is in use, i.e. there are non-empty inputs,\nand assigned to some devices, either in a given workspace, or in mainline.\nTagMatcherInputFieldProps TagMatcherInputFieldProps defines the set of properties for a single selector field in a studio input schema.\nField Name Type Description tag_matcher_mode TagMatcherFieldMode tag_matcher_mode (required) is the tag mode of the matcher.\ntag_matcher_label google.protobuf.StringValue tag_matcher_label can be used when tag_matcher_mode is one of\nTAG_MATCHER_FIELD_MODE_SINGLE_*_TAG and it specifies\nthe tag label which must be used in the match query.\ntag_filter_query google.protobuf.StringValue tag_filter_query limits the set of devices that the\nmatch query can return. E.g., \u0026quot;device:D1,D2\u0026quot; will\nconstrain results to the devices D1 and D2.\nresolver_filtering_allowed google.protobuf.BoolValue resolver_filtering_allowed indicates whether results of the\nmatch query be filtered based on what any parent resolvers\nallow. This is true by default.\nTemplate Template defines a template for a studio.\nField Name Type Description type TemplateType type specifies the language that this template uses.\nbody google.protobuf.StringValue body contains the actual source code of the template.\nAutofillProviderType AutofillProviderType describes the set of possible provided argument types.\nName Number Description AUTOFILL_PROVIDER_TYPE_UNSPECIFIED 0 AUTOFILL_PROVIDER_TYPE_UNSPECIFIED indicates that no provider type is specified.\nAUTOFILL_PROVIDER_TYPE_USER_SPECIFIED 1 AUTOFILL_PROVIDER_TYPE_USER_SPECIFIED is when an argument is to be\nprovided at runtime by the user.\nAUTOFILL_PROVIDER_TYPE_PREDEFINED 2 AUTOFILL_PROVIDER_TYPE_PREDEFINED is when an argument has a predefined value.\nAUTOFILL_PROVIDER_TYPE_LINKED 3 AUTOFILL_PROVIDER_TYPE_LINKED is when an argument is linked to another studio input field.\nEntityType EntityType enumerates the set of entity types.\nName Number Description ENTITY_TYPE_UNSPECIFIED 0 ENTITY_TYPE_UNSPECIFIED indicates an unspecified entity type.\nENTITY_TYPE_STUDIO 1 ENTITY_TYPE_STUDIO indicates the Studio entity type.\nENTITY_TYPE_INPUTS 2 ENTITY_TYPE_INPUTS indicates the Inputs entity type.\nENTITY_TYPE_ASSIGNED_TAGS 3 ENTITY_TYPE_ASSIGNED_TAGS indicates the AssignedTags entity type.\nENTITY_TYPE_BUILD_HOOK 4 ENTITY_TYPE_BUILD_HOOK indicates the BuildHook entity type.\nENTITY_TYPE_AUTOFILL_ACTION 5 ENTITY_TYPE_AUTOFILL_ACTION indicates the AutofillAction entity type.\nENTITY_TYPE_CONFIGLET 6 ENTITY_TYPE_CONFIGLET indicates the Configlet entity type for\nstatic config studio.\nENTITY_TYPE_CONFIGLET_ASSIGNMENT 7 ENTITY_TYPE_CONFIGLET_ASSIGNMENT indicates the ConfigletAssignment\nentity type for static config studio.\nInputFieldType InputFieldType defines the set of possible data types for values that can be input into a studio.\nName Number Description INPUT_FIELD_TYPE_UNSPECIFIED 0 INPUT_FIELD_TYPE_UNSPECIFIED indicates an unspecified input data type.\nINPUT_FIELD_TYPE_BOOLEAN 1 INPUT_FIELD_TYPE_BOOLEAN is the data type for a boolean value.\nINPUT_FIELD_TYPE_INTEGER 2 INPUT_FIELD_TYPE_INTEGER is the data type for an integer value.\nINPUT_FIELD_TYPE_FLOAT 3 INPUT_FIELD_TYPE_FLOAT is the data type for a float value.\nINPUT_FIELD_TYPE_STRING 4 INPUT_FIELD_TYPE_STRING is the data type for a string value.\nINPUT_FIELD_TYPE_GROUP 5 INPUT_FIELD_TYPE_GROUP is the data type for an unordered group of\ninputs of any type. This type is used in cases where inputs are\nrequired to be consolidated into an object for use in the template\nor to attach multiple inputs under a resolver or collection.\nINPUT_FIELD_TYPE_COLLECTION 6 INPUT_FIELD_TYPE_COLLECTION is the data type for an ordered collection\nof inputs of the same type. This type is used in cases where multiple\ninput values of the same type should be given for a field, and where\nordering matters.\nINPUT_FIELD_TYPE_RESOLVER 7 INPUT_FIELD_TYPE_RESOLVER is the data type for an input that allows\nits member input to be assigned based on a tag query match. This\ntype is used in cases where the input value is conditional on a\ndevice or a group of devices. The query is resolved at run-time\nand each affected device is given the value that corresponds to\nthe tag it is assigned to.\nINPUT_FIELD_TYPE_TAG_MATCHER 8 INPUT_FIELD_TYPE_TAG_MATCHER is the data type for an input that allows\nan unordered set of devices or interfaces to be selected. The set of\ndevices or interfaces that are to be selected are specified by a tag\nquery, resolved at run-time.\nResolverFieldDisplayMode ResolverFieldDisplayMode defines the set of ways in which the matching devices or interfaces should be displayed on the UI.\nName Number Description RESOLVER_FIELD_DISPLAY_MODE_UNSPECIFIED 0 RESOLVER_FIELD_DISPLAY_MODE_UNSPECIFIED indicates an unspecified resolver display mode.\nRESOLVER_FIELD_DISPLAY_MODE_ALL 1 RESOLVER_FIELD_DISPLAY_MODE_ALL instructs the UI to show all\nmatching devices or interfaces, including ones that have no\ninputs.\nRESOLVER_FIELD_DISPLAY_MODE_SPARSE 2 RESOLVER_FIELD_DISPLAY_MODE_SPARSE instructs the UI to show\nonly matching devices or interfaces that have inputs.\nResolverFieldInputMode ResolverFieldInputMode defines the set of ways a resolver tag query can be specified in a studio.\nName Number Description RESOLVER_FIELD_INPUT_MODE_UNSPECIFIED 0 RESOLVER_FIELD_INPUT_MODE_UNSPECIFIED indicates an unspecified resolver input mode.\nRESOLVER_FIELD_INPUT_MODE_SINGLE_DEVICE_TAG 1 RESOLVER_FIELD_INPUT_MODE_SINGLE_DEVICE_TAG allows devices to be\nselected based on a single tag label.\nRESOLVER_FIELD_INPUT_MODE_SINGLE_INTERFACE_TAG 2 RESOLVER_FIELD_INPUT_MODE_SINGLE_INTERFACE_TAG allows interfaces\nto be selected based on a single tag label.\nRESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG 3 RESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG allows devices to be\nselected based on any tag label.\nRESOLVER_FIELD_INPUT_MODE_MULTI_INTERFACE_TAG 4 RESOLVER_FIELD_INPUT_MODE_MULTI_INTERFACE_TAG allows interfaces\nto be selected based on any tag label.\nTagMatcherFieldMode TagMatcherFieldMode defines the set of ways a tag query for matching device or interfaces can be specified in a studio.\nName Number Description TAG_MATCHER_FIELD_MODE_UNSPECIFIED 0 TAG_MATCHER_FIELD_MODE_UNSPECIFIED indicates an unspecified tag matcher mode.\nTAG_MATCHER_FIELD_MODE_SINGLE_DEVICE_TAG 1 TAG_MATCHER_FIELD_MODE_SINGLE_DEVICE_TAG allows devices to be\nselected based on a single tag label.\nTAG_MATCHER_FIELD_MODE_SINGLE_INTERFACE_TAG 2 TAG_MATCHER_FIELD_MODE_SINGLE_INTERFACE_TAG allows interfaces\nto be selected based on a single tag label.\nTAG_MATCHER_FIELD_MODE_MULTI_DEVICE_TAG 3 TAG_MATCHER_FIELD_MODE_MULTI_DEVICE_TAG allows devices to be\nselected based on any tag label.\nTAG_MATCHER_FIELD_MODE_MULTI_INTERFACE_TAG 4 TAG_MATCHER_FIELD_MODE_MULTI_INTERFACE_TAG allows interfaces\nto be selected based on any tag label.\nTemplateType TemplateType defines the set of supported languages that can be used in studio templates.\nName Number Description TEMPLATE_TYPE_UNSPECIFIED 0 TEMPLATE_TYPE_UNSPECIFIED indicates an unspecified template type.\nTEMPLATE_TYPE_MAKO 1 TEMPLATE_TYPE_MAKO is the Mako templating language for Python.\nMore information: https://www.makotemplates.org\nTEMPLATE_TYPE_JINJA 2 TEMPLATE_TYPE_JINJA is the Jinja templating language for Python.\nMore information: https://palletsprojects.com/p/jinja\nTEMPLATE_TYPE_GO 3 TEMPLATE_TYPE_GO is the Go templating language.\nMore information: https://pkg.go.dev/text/template\nNOTE: Not all template functions are supported for this type.\nTop\narista/studio.v1/services.gen.proto AssignedTagsBatchedStreamRequest Field Name Type Description partial_eq_filter AssignedTags[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTags at end.\n* Each AssignedTags response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTags at start, followed by updates until now.\n* Each AssignedTags response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTags at start, followed by updates\nuntil end.\n* Each AssignedTags response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAssignedTagsBatchedStreamResponse Field Name Type Description responses AssignedTagsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAssignedTagsConfigBatchedStreamRequest Field Name Type Description partial_eq_filter AssignedTagsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTagsConfig at end.\n* Each AssignedTagsConfig response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTagsConfig at start, followed by updates until now.\n* Each AssignedTagsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTagsConfig at start, followed by updates\nuntil end.\n* Each AssignedTagsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAssignedTagsConfigBatchedStreamResponse Field Name Type Description responses AssignedTagsConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAssignedTagsConfigDeleteAllRequest Field Name Type Description partial_eq_filter AssignedTagsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nAssignedTagsConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey StudioKey This is the key of the AssignedTagsConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nAssignedTagsConfigDeleteRequest Field Name Type Description key StudioKey Key indicates which AssignedTagsConfig instance to remove.\nThis field must always be set.\nAssignedTagsConfigDeleteResponse Field Name Type Description key StudioKey Key echoes back the key of the deleted AssignedTagsConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nAssignedTagsConfigDeleteSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] key contains a list of AssignedTagsConfig keys to delete\nAssignedTagsConfigDeleteSomeResponse AssignedTagsConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key StudioKey error string AssignedTagsConfigRequest Field Name Type Description key StudioKey Key uniquely identifies a AssignedTagsConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsConfigResponse Field Name Type Description value AssignedTagsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAssignedTagsConfig instance in this response.\nAssignedTagsConfigSetRequest Field Name Type Description value AssignedTagsConfig AssignedTagsConfig carries the value to set into the datastore.\nSee the documentation on the AssignedTagsConfig struct for which fields are required.\nAssignedTagsConfigSetResponse Field Name Type Description value AssignedTagsConfig Value carries all the values given in the AssignedTagsConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAssignedTagsConfigSetSomeRequest Field Name Type Description values AssignedTagsConfig[\u0026hellip;] value contains a list of AssignedTagsConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nAssignedTagsConfigSetSomeResponse Field Name Type Description key StudioKey error string AssignedTagsConfigSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsConfigSomeResponse Field Name Type Description value AssignedTagsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AssignedTagsConfigStreamRequest Field Name Type Description partial_eq_filter AssignedTagsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTagsConfig at end.\n* Each AssignedTagsConfig response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTagsConfig at start, followed by updates until now.\n* Each AssignedTagsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTagsConfig at start, followed by updates\nuntil end.\n* Each AssignedTagsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAssignedTagsConfigStreamResponse Field Name Type Description value AssignedTagsConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AssignedTagsConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AssignedTagsConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAssignedTagsRequest Field Name Type Description key StudioKey Key uniquely identifies a AssignedTags instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsResponse Field Name Type Description value AssignedTags Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAssignedTags instance in this response.\nAssignedTagsSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAssignedTagsSomeResponse Field Name Type Description value AssignedTags Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AssignedTagsStreamRequest Field Name Type Description partial_eq_filter AssignedTags[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AssignedTags at end.\n* Each AssignedTags response is fully-specified (all fields set).\n* start: Returns the state of each AssignedTags at start, followed by updates until now.\n* Each AssignedTags response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AssignedTags at start, followed by updates\nuntil end.\n* Each AssignedTags response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAssignedTagsStreamResponse Field Name Type Description value AssignedTags Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AssignedTags\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AssignedTags value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAutofillActionBatchedStreamRequest Field Name Type Description partial_eq_filter AutofillAction[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillAction at end.\n* Each AutofillAction response is fully-specified (all fields set).\n* start: Returns the state of each AutofillAction at start, followed by updates until now.\n* Each AutofillAction response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillAction at start, followed by updates\nuntil end.\n* Each AutofillAction response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAutofillActionBatchedStreamResponse Field Name Type Description responses AutofillActionStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAutofillActionConfigBatchedStreamRequest Field Name Type Description partial_eq_filter AutofillActionConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillActionConfig at end.\n* Each AutofillActionConfig response is fully-specified (all fields set).\n* start: Returns the state of each AutofillActionConfig at start, followed by updates until now.\n* Each AutofillActionConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillActionConfig at start, followed by updates\nuntil end.\n* Each AutofillActionConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nAutofillActionConfigBatchedStreamResponse Field Name Type Description responses AutofillActionConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nAutofillActionConfigDeleteAllRequest Field Name Type Description partial_eq_filter AutofillActionConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nAutofillActionConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey AutofillActionKey This is the key of the AutofillActionConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nAutofillActionConfigDeleteRequest Field Name Type Description key AutofillActionKey Key indicates which AutofillActionConfig instance to remove.\nThis field must always be set.\nAutofillActionConfigDeleteResponse Field Name Type Description key AutofillActionKey Key echoes back the key of the deleted AutofillActionConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nAutofillActionConfigDeleteSomeRequest Field Name Type Description keys AutofillActionKey[\u0026hellip;] key contains a list of AutofillActionConfig keys to delete\nAutofillActionConfigDeleteSomeResponse AutofillActionConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key AutofillActionKey error string AutofillActionConfigRequest Field Name Type Description key AutofillActionKey Key uniquely identifies a AutofillActionConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionConfigResponse Field Name Type Description value AutofillActionConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAutofillActionConfig instance in this response.\nAutofillActionConfigSetRequest Field Name Type Description value AutofillActionConfig AutofillActionConfig carries the value to set into the datastore.\nSee the documentation on the AutofillActionConfig struct for which fields are required.\nAutofillActionConfigSetResponse Field Name Type Description value AutofillActionConfig Value carries all the values given in the AutofillActionConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nAutofillActionConfigSetSomeRequest Field Name Type Description values AutofillActionConfig[\u0026hellip;] value contains a list of AutofillActionConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nAutofillActionConfigSetSomeResponse Field Name Type Description key AutofillActionKey error string AutofillActionConfigSomeRequest Field Name Type Description keys AutofillActionKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionConfigSomeResponse Field Name Type Description value AutofillActionConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AutofillActionConfigStreamRequest Field Name Type Description partial_eq_filter AutofillActionConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillActionConfig at end.\n* Each AutofillActionConfig response is fully-specified (all fields set).\n* start: Returns the state of each AutofillActionConfig at start, followed by updates until now.\n* Each AutofillActionConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillActionConfig at start, followed by updates\nuntil end.\n* Each AutofillActionConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAutofillActionConfigStreamResponse Field Name Type Description value AutofillActionConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AutofillActionConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AutofillActionConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAutofillActionRequest Field Name Type Description key AutofillActionKey Key uniquely identifies a AutofillAction instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionResponse Field Name Type Description value AutofillAction Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nAutofillAction instance in this response.\nAutofillActionSomeRequest Field Name Type Description keys AutofillActionKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nAutofillActionSomeResponse Field Name Type Description value AutofillAction Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp AutofillActionStreamRequest Field Name Type Description partial_eq_filter AutofillAction[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each AutofillAction at end.\n* Each AutofillAction response is fully-specified (all fields set).\n* start: Returns the state of each AutofillAction at start, followed by updates until now.\n* Each AutofillAction response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each AutofillAction at start, followed by updates\nuntil end.\n* Each AutofillAction response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nAutofillActionStreamResponse Field Name Type Description value AutofillAction Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this AutofillAction\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the AutofillAction value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nInputsBatchedStreamRequest Field Name Type Description partial_eq_filter Inputs[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Inputs at end.\n* Each Inputs response is fully-specified (all fields set).\n* start: Returns the state of each Inputs at start, followed by updates until now.\n* Each Inputs response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Inputs at start, followed by updates\nuntil end.\n* Each Inputs response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nInputsBatchedStreamResponse Field Name Type Description responses InputsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nInputsConfigBatchedStreamRequest Field Name Type Description partial_eq_filter InputsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each InputsConfig at end.\n* Each InputsConfig response is fully-specified (all fields set).\n* start: Returns the state of each InputsConfig at start, followed by updates until now.\n* Each InputsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each InputsConfig at start, followed by updates\nuntil end.\n* Each InputsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nInputsConfigBatchedStreamResponse Field Name Type Description responses InputsConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nInputsConfigDeleteAllRequest Field Name Type Description partial_eq_filter InputsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nInputsConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey InputsKey This is the key of the InputsConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nInputsConfigDeleteRequest Field Name Type Description key InputsKey Key indicates which InputsConfig instance to remove.\nThis field must always be set.\nInputsConfigDeleteResponse Field Name Type Description key InputsKey Key echoes back the key of the deleted InputsConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nInputsConfigDeleteSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] key contains a list of InputsConfig keys to delete\nInputsConfigDeleteSomeResponse InputsConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key InputsKey error string InputsConfigRequest Field Name Type Description key InputsKey Key uniquely identifies a InputsConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsConfigResponse Field Name Type Description value InputsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nInputsConfig instance in this response.\nInputsConfigSetRequest Field Name Type Description value InputsConfig InputsConfig carries the value to set into the datastore.\nSee the documentation on the InputsConfig struct for which fields are required.\nInputsConfigSetResponse Field Name Type Description value InputsConfig Value carries all the values given in the InputsConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nInputsConfigSetSomeRequest Field Name Type Description values InputsConfig[\u0026hellip;] value contains a list of InputsConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nInputsConfigSetSomeResponse Field Name Type Description key InputsKey error string InputsConfigSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsConfigSomeResponse Field Name Type Description value InputsConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp InputsConfigStreamRequest Field Name Type Description partial_eq_filter InputsConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each InputsConfig at end.\n* Each InputsConfig response is fully-specified (all fields set).\n* start: Returns the state of each InputsConfig at start, followed by updates until now.\n* Each InputsConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each InputsConfig at start, followed by updates\nuntil end.\n* Each InputsConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nInputsConfigStreamResponse Field Name Type Description value InputsConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this InputsConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the InputsConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nInputsRequest Field Name Type Description key InputsKey Key uniquely identifies a Inputs instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsResponse Field Name Type Description value Inputs Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nInputs instance in this response.\nInputsSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nInputsSomeResponse Field Name Type Description value Inputs Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp InputsStreamRequest Field Name Type Description partial_eq_filter Inputs[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Inputs at end.\n* Each Inputs response is fully-specified (all fields set).\n* start: Returns the state of each Inputs at start, followed by updates until now.\n* Each Inputs response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Inputs at start, followed by updates\nuntil end.\n* Each Inputs response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nInputsStreamResponse Field Name Type Description value Inputs Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Inputs\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Inputs value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nMetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nSecretInputBatchedStreamRequest Field Name Type Description partial_eq_filter SecretInput[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecretInput at end.\n* Each SecretInput response is fully-specified (all fields set).\n* start: Returns the state of each SecretInput at start, followed by updates until now.\n* Each SecretInput response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecretInput at start, followed by updates\nuntil end.\n* Each SecretInput response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nSecretInputBatchedStreamResponse Field Name Type Description responses SecretInputStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nSecretInputRequest Field Name Type Description key InputsKey Key uniquely identifies a SecretInput instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecretInputResponse Field Name Type Description value SecretInput Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nSecretInput instance in this response.\nSecretInputSomeRequest Field Name Type Description keys InputsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nSecretInputSomeResponse Field Name Type Description value SecretInput Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp SecretInputStreamRequest Field Name Type Description partial_eq_filter SecretInput[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each SecretInput at end.\n* Each SecretInput response is fully-specified (all fields set).\n* start: Returns the state of each SecretInput at start, followed by updates until now.\n* Each SecretInput response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each SecretInput at start, followed by updates\nuntil end.\n* Each SecretInput response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nSecretInputStreamResponse Field Name Type Description value SecretInput Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this SecretInput\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the SecretInput value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nStudioBatchedStreamRequest Field Name Type Description partial_eq_filter Studio[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Studio at end.\n* Each Studio response is fully-specified (all fields set).\n* start: Returns the state of each Studio at start, followed by updates until now.\n* Each Studio response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Studio at start, followed by updates\nuntil end.\n* Each Studio response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nStudioBatchedStreamResponse Field Name Type Description responses StudioStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nStudioConfigBatchedStreamRequest Field Name Type Description partial_eq_filter StudioConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioConfig at end.\n* Each StudioConfig response is fully-specified (all fields set).\n* start: Returns the state of each StudioConfig at start, followed by updates until now.\n* Each StudioConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioConfig at start, followed by updates\nuntil end.\n* Each StudioConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nStudioConfigBatchedStreamResponse Field Name Type Description responses StudioConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nStudioConfigDeleteAllRequest Field Name Type Description partial_eq_filter StudioConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nStudioConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey StudioKey This is the key of the StudioConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nStudioConfigDeleteRequest Field Name Type Description key StudioKey Key indicates which StudioConfig instance to remove.\nThis field must always be set.\nStudioConfigDeleteResponse Field Name Type Description key StudioKey Key echoes back the key of the deleted StudioConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nStudioConfigDeleteSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] key contains a list of StudioConfig keys to delete\nStudioConfigDeleteSomeResponse StudioConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key StudioKey error string StudioConfigRequest Field Name Type Description key StudioKey Key uniquely identifies a StudioConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioConfigResponse Field Name Type Description value StudioConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nStudioConfig instance in this response.\nStudioConfigSetRequest Field Name Type Description value StudioConfig StudioConfig carries the value to set into the datastore.\nSee the documentation on the StudioConfig struct for which fields are required.\nStudioConfigSetResponse Field Name Type Description value StudioConfig Value carries all the values given in the StudioConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nStudioConfigSetSomeRequest Field Name Type Description values StudioConfig[\u0026hellip;] value contains a list of StudioConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nStudioConfigSetSomeResponse Field Name Type Description key StudioKey error string StudioConfigSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioConfigSomeResponse Field Name Type Description value StudioConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp StudioConfigStreamRequest Field Name Type Description partial_eq_filter StudioConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioConfig at end.\n* Each StudioConfig response is fully-specified (all fields set).\n* start: Returns the state of each StudioConfig at start, followed by updates until now.\n* Each StudioConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioConfig at start, followed by updates\nuntil end.\n* Each StudioConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nStudioConfigStreamResponse Field Name Type Description value StudioConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this StudioConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the StudioConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nStudioRequest Field Name Type Description key StudioKey Key uniquely identifies a Studio instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioResponse Field Name Type Description value Studio Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nStudio instance in this response.\nStudioSomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioSomeResponse Field Name Type Description value Studio Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp StudioStreamRequest Field Name Type Description partial_eq_filter Studio[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Studio at end.\n* Each Studio response is fully-specified (all fields set).\n* start: Returns the state of each Studio at start, followed by updates until now.\n* Each Studio response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Studio at start, followed by updates\nuntil end.\n* Each Studio response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nStudioStreamResponse Field Name Type Description value Studio Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Studio\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Studio value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nStudioSummaryBatchedStreamRequest Field Name Type Description partial_eq_filter StudioSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioSummary at end.\n* Each StudioSummary response is fully-specified (all fields set).\n* start: Returns the state of each StudioSummary at start, followed by updates until now.\n* Each StudioSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioSummary at start, followed by updates\nuntil end.\n* Each StudioSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nStudioSummaryBatchedStreamResponse Field Name Type Description responses StudioSummaryStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nStudioSummaryRequest Field Name Type Description key StudioKey Key uniquely identifies a StudioSummary instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioSummaryResponse Field Name Type Description value StudioSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nStudioSummary instance in this response.\nStudioSummarySomeRequest Field Name Type Description keys StudioKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nStudioSummarySomeResponse Field Name Type Description value StudioSummary Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp StudioSummaryStreamRequest Field Name Type Description partial_eq_filter StudioSummary[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each StudioSummary at end.\n* Each StudioSummary response is fully-specified (all fields set).\n* start: Returns the state of each StudioSummary at start, followed by updates until now.\n* Each StudioSummary response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each StudioSummary at start, followed by updates\nuntil end.\n* Each StudioSummary response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nStudioSummaryStreamResponse Field Name Type Description value StudioSummary Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this StudioSummary\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the StudioSummary value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nAssignedTagsConfigService Method Name Request Type Response Type Description GetOne AssignedTagsConfigRequest AssignedTagsConfigResponse GetSome AssignedTagsConfigSomeRequest AssignedTagsConfigSomeResponse stream GetAll AssignedTagsConfigStreamRequest AssignedTagsConfigStreamResponse stream Subscribe AssignedTagsConfigStreamRequest AssignedTagsConfigStreamResponse stream GetMeta AssignedTagsConfigStreamRequest MetaResponse SubscribeMeta AssignedTagsConfigStreamRequest MetaResponse stream Set AssignedTagsConfigSetRequest AssignedTagsConfigSetResponse SetSome AssignedTagsConfigSetSomeRequest AssignedTagsConfigSetSomeResponse stream Delete AssignedTagsConfigDeleteRequest AssignedTagsConfigDeleteResponse DeleteSome AssignedTagsConfigDeleteSomeRequest AssignedTagsConfigDeleteSomeResponse stream DeleteAll AssignedTagsConfigDeleteAllRequest AssignedTagsConfigDeleteAllResponse stream GetAllBatched AssignedTagsConfigBatchedStreamRequest AssignedTagsConfigBatchedStreamResponse stream SubscribeBatched AssignedTagsConfigBatchedStreamRequest AssignedTagsConfigBatchedStreamResponse stream AssignedTagsService Method Name Request Type Response Type Description GetOne AssignedTagsRequest AssignedTagsResponse GetSome AssignedTagsSomeRequest AssignedTagsSomeResponse stream GetAll AssignedTagsStreamRequest AssignedTagsStreamResponse stream Subscribe AssignedTagsStreamRequest AssignedTagsStreamResponse stream GetMeta AssignedTagsStreamRequest MetaResponse SubscribeMeta AssignedTagsStreamRequest MetaResponse stream GetAllBatched AssignedTagsBatchedStreamRequest AssignedTagsBatchedStreamResponse stream SubscribeBatched AssignedTagsBatchedStreamRequest AssignedTagsBatchedStreamResponse stream AutofillActionConfigService Method Name Request Type Response Type Description GetOne AutofillActionConfigRequest AutofillActionConfigResponse GetSome AutofillActionConfigSomeRequest AutofillActionConfigSomeResponse stream GetAll AutofillActionConfigStreamRequest AutofillActionConfigStreamResponse stream Subscribe AutofillActionConfigStreamRequest AutofillActionConfigStreamResponse stream GetMeta AutofillActionConfigStreamRequest MetaResponse SubscribeMeta AutofillActionConfigStreamRequest MetaResponse stream Set AutofillActionConfigSetRequest AutofillActionConfigSetResponse SetSome AutofillActionConfigSetSomeRequest AutofillActionConfigSetSomeResponse stream Delete AutofillActionConfigDeleteRequest AutofillActionConfigDeleteResponse DeleteSome AutofillActionConfigDeleteSomeRequest AutofillActionConfigDeleteSomeResponse stream DeleteAll AutofillActionConfigDeleteAllRequest AutofillActionConfigDeleteAllResponse stream GetAllBatched AutofillActionConfigBatchedStreamRequest AutofillActionConfigBatchedStreamResponse stream SubscribeBatched AutofillActionConfigBatchedStreamRequest AutofillActionConfigBatchedStreamResponse stream AutofillActionService Method Name Request Type Response Type Description GetOne AutofillActionRequest AutofillActionResponse GetSome AutofillActionSomeRequest AutofillActionSomeResponse stream GetAll AutofillActionStreamRequest AutofillActionStreamResponse stream Subscribe AutofillActionStreamRequest AutofillActionStreamResponse stream GetMeta AutofillActionStreamRequest MetaResponse SubscribeMeta AutofillActionStreamRequest MetaResponse stream GetAllBatched AutofillActionBatchedStreamRequest AutofillActionBatchedStreamResponse stream SubscribeBatched AutofillActionBatchedStreamRequest AutofillActionBatchedStreamResponse stream InputsConfigService Method Name Request Type Response Type Description GetOne InputsConfigRequest InputsConfigResponse GetSome InputsConfigSomeRequest InputsConfigSomeResponse stream GetAll InputsConfigStreamRequest InputsConfigStreamResponse stream Subscribe InputsConfigStreamRequest InputsConfigStreamResponse stream GetMeta InputsConfigStreamRequest MetaResponse SubscribeMeta InputsConfigStreamRequest MetaResponse stream Set InputsConfigSetRequest InputsConfigSetResponse SetSome InputsConfigSetSomeRequest InputsConfigSetSomeResponse stream Delete InputsConfigDeleteRequest InputsConfigDeleteResponse DeleteSome InputsConfigDeleteSomeRequest InputsConfigDeleteSomeResponse stream DeleteAll InputsConfigDeleteAllRequest InputsConfigDeleteAllResponse stream GetAllBatched InputsConfigBatchedStreamRequest InputsConfigBatchedStreamResponse stream SubscribeBatched InputsConfigBatchedStreamRequest InputsConfigBatchedStreamResponse stream InputsService Method Name Request Type Response Type Description GetOne InputsRequest InputsResponse GetSome InputsSomeRequest InputsSomeResponse stream GetAll InputsStreamRequest InputsStreamResponse stream Subscribe InputsStreamRequest InputsStreamResponse stream GetMeta InputsStreamRequest MetaResponse SubscribeMeta InputsStreamRequest MetaResponse stream GetAllBatched InputsBatchedStreamRequest InputsBatchedStreamResponse stream SubscribeBatched InputsBatchedStreamRequest InputsBatchedStreamResponse stream SecretInputService Method Name Request Type Response Type Description GetOne SecretInputRequest SecretInputResponse GetSome SecretInputSomeRequest SecretInputSomeResponse stream GetAll SecretInputStreamRequest SecretInputStreamResponse stream Subscribe SecretInputStreamRequest SecretInputStreamResponse stream GetMeta SecretInputStreamRequest MetaResponse SubscribeMeta SecretInputStreamRequest MetaResponse stream GetAllBatched SecretInputBatchedStreamRequest SecretInputBatchedStreamResponse stream SubscribeBatched SecretInputBatchedStreamRequest SecretInputBatchedStreamResponse stream StudioConfigService Method Name Request Type Response Type Description GetOne StudioConfigRequest StudioConfigResponse GetSome StudioConfigSomeRequest StudioConfigSomeResponse stream GetAll StudioConfigStreamRequest StudioConfigStreamResponse stream Subscribe StudioConfigStreamRequest StudioConfigStreamResponse stream GetMeta StudioConfigStreamRequest MetaResponse SubscribeMeta StudioConfigStreamRequest MetaResponse stream Set StudioConfigSetRequest StudioConfigSetResponse SetSome StudioConfigSetSomeRequest StudioConfigSetSomeResponse stream Delete StudioConfigDeleteRequest StudioConfigDeleteResponse DeleteSome StudioConfigDeleteSomeRequest StudioConfigDeleteSomeResponse stream DeleteAll StudioConfigDeleteAllRequest StudioConfigDeleteAllResponse stream GetAllBatched StudioConfigBatchedStreamRequest StudioConfigBatchedStreamResponse stream SubscribeBatched StudioConfigBatchedStreamRequest StudioConfigBatchedStreamResponse stream StudioService Method Name Request Type Response Type Description GetOne StudioRequest StudioResponse GetSome StudioSomeRequest StudioSomeResponse stream GetAll StudioStreamRequest StudioStreamResponse stream Subscribe StudioStreamRequest StudioStreamResponse stream GetMeta StudioStreamRequest MetaResponse SubscribeMeta StudioStreamRequest MetaResponse stream GetAllBatched StudioBatchedStreamRequest StudioBatchedStreamResponse stream SubscribeBatched StudioBatchedStreamRequest StudioBatchedStreamResponse stream StudioSummaryService Method Name Request Type Response Type Description GetOne StudioSummaryRequest StudioSummaryResponse GetSome StudioSummarySomeRequest StudioSummarySomeResponse stream GetAll StudioSummaryStreamRequest StudioSummaryStreamResponse stream Subscribe StudioSummaryStreamRequest StudioSummaryStreamResponse stream GetMeta StudioSummaryStreamRequest MetaResponse SubscribeMeta StudioSummaryStreamRequest MetaResponse stream GetAllBatched StudioSummaryBatchedStreamRequest StudioSummaryBatchedStreamResponse stream SubscribeBatched StudioSummaryBatchedStreamRequest StudioSummaryBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/tag.v2/","title":"tag.v2","tags":[],"description":"","content":" arista/tag.v2/tag.proto\nTag\nTagAssignment\nTagAssignmentConfig\nTagAssignmentKey\nTagConfig\nTagKey\nCreatorType\nElementSubType\nElementType\narista/tag.v2/services.gen.proto\nMetaResponse\nTagAssignmentBatchedStreamRequest\nTagAssignmentBatchedStreamResponse\nTagAssignmentConfigBatchedStreamRequest\nTagAssignmentConfigBatchedStreamResponse\nTagAssignmentConfigDeleteAllRequest\nTagAssignmentConfigDeleteAllResponse\nTagAssignmentConfigDeleteRequest\nTagAssignmentConfigDeleteResponse\nTagAssignmentConfigDeleteSomeRequest\nTagAssignmentConfigDeleteSomeResponse\nTagAssignmentConfigRequest\nTagAssignmentConfigResponse\nTagAssignmentConfigSetRequest\nTagAssignmentConfigSetResponse\nTagAssignmentConfigSetSomeRequest\nTagAssignmentConfigSetSomeResponse\nTagAssignmentConfigSomeRequest\nTagAssignmentConfigSomeResponse\nTagAssignmentConfigStreamRequest\nTagAssignmentConfigStreamResponse\nTagAssignmentRequest\nTagAssignmentResponse\nTagAssignmentSomeRequest\nTagAssignmentSomeResponse\nTagAssignmentStreamRequest\nTagAssignmentStreamResponse\nTagBatchedStreamRequest\nTagBatchedStreamResponse\nTagConfigBatchedStreamRequest\nTagConfigBatchedStreamResponse\nTagConfigDeleteAllRequest\nTagConfigDeleteAllResponse\nTagConfigDeleteRequest\nTagConfigDeleteResponse\nTagConfigDeleteSomeRequest\nTagConfigDeleteSomeResponse\nTagConfigRequest\nTagConfigResponse\nTagConfigSetRequest\nTagConfigSetResponse\nTagConfigSetSomeRequest\nTagConfigSetSomeResponse\nTagConfigSomeRequest\nTagConfigSomeResponse\nTagConfigStreamRequest\nTagConfigStreamResponse\nTagRequest\nTagResponse\nTagSomeRequest\nTagSomeResponse\nTagStreamRequest\nTagStreamResponse\nTagAssignmentConfigService\nTagAssignmentService\nTagConfigService\nTagService\nTop\narista/tag.v2/tag.proto Tag Tag holds a merge-preview or the existing merged state (if the workspace ID is \u0026ldquo;\u0026rdquo;) of a tag.\nField Name Type Description key TagKey key identifies a tag.\ncreator_type CreatorType creator_type is the creator type of the tag.\nTagAssignment TagAssignment holds a merge-preview or the existing merged state (if the workspace ID is \u0026ldquo;\u0026rdquo;) of an assignment between a tag and a network element.\nField Name Type Description key TagAssignmentKey key identifies an assignment.\ntag_creator_type CreatorType tag_creator_type is the creator type of the tag\ninvolved in the assignment.\nTagAssignmentConfig TagAssignmentConfig holds a configuration for an assignment between a tag and a network element. The tag assignments that belong to entities other than ELEMENT_SUB_TYPE_DEVICE will always be present in mainline only.\nField Name Type Description key TagAssignmentKey key identifies an assignment. The special workspace ID \u0026ldquo;\u0026quot;\nfor merged assignments should not be set here.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the assignment identified by the key if the\nencompassing workspace merges.\nTagAssignmentKey TagAssignmentKey uniquely identifies an assignment between a tag and a network element.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of a workspace. The special ID \u0026ldquo;\u0026quot;\nidentifies the location where merged assignments reside.\nelement_type ElementType element_type is the element type of a tag. What should\nbe set per element type:\nELEMENT_TYPE_DEVICE: device_id\nELEMENT_TYPE_INTERFACE: device_id, interface_id\nlabel google.protobuf.StringValue label is the label of a tag.\nvalue google.protobuf.StringValue value is the value of a tag.\ndevice_id google.protobuf.StringValue device_id identifies a device.\ninterface_id google.protobuf.StringValue interface_id identifies an interface on a device.\nelement_sub_type ElementSubType element_sub_type is the element sub-type of a tag.\nTagConfig TagConfig holds a configuration for a user tag. The tags that belong to entities other than ELEMENT_SUB_TYPE_DEVICE will always be present in mainline only.\nField Name Type Description key TagKey key identifies a tag. The special workspace ID \u0026quot;\u0026rdquo; for\nmerged tags should not be set here.\nremove google.protobuf.BoolValue remove indicates whether to remove (true) or add (false,\nunset) the tag identified by the key if the encompassing\nworkspace merges.\nTagKey TagKey uniquely identifies a tag.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of a workspace. The special ID \u0026ldquo;\u0026quot;\nidentifies the location where merged tags reside.\nelement_type ElementType element_type is the category of network element to which\nthis tag can be assigned.\nlabel google.protobuf.StringValue label is an arbitrary label.\nvalue google.protobuf.StringValue value is an arbitrary value.\nelement_sub_type ElementSubType element_sub_type is the sub-category of network element\nto which this tag can be assigned.\nCreatorType CreatorType enumerates the types of entities that can create a tag.\nName Number Description CREATOR_TYPE_UNSPECIFIED 0 CREATOR_TYPE_UNSPECIFIED is the default value.\nCREATOR_TYPE_SYSTEM 1 CREATOR_TYPE_SYSTEM is used for system tags.\nCREATOR_TYPE_USER 2 CREATOR_TYPE_USER is used for user tags.\nCREATOR_TYPE_EXTERNAL 3 CREATOR_TYPE_EXTERNAL is used for tags created from external sources.\nFor E.g., vCenter\nElementSubType ElementSubType enumerates the sub-types of network elements that can be associated with tags.\nName Number Description ELEMENT_SUB_TYPE_UNSPECIFIED 0 ELEMENT_SUB_TYPE_UNSPECIFIED is the default value.\nELEMENT_SUB_TYPE_DEVICE 1 ELEMENT_SUB_TYPE_DEVICE is used for EOS or\nthird-party devices discovered via LLDP/SNMP.\nELEMENT_SUB_TYPE_VDS 2 ELEMENT_SUB_TYPE_VDS is used for VMWare vSphere Distributed Switch (VDS) tags.\nELEMENT_SUB_TYPE_WORKLOAD_SERVER 3 ELEMENT_SUB_TYPE_WORKLOAD_SERVER is used for workload server\ntags (such as VMWare ESXi host).\nA workload server is a server/data storage device on which\nthe hypervisor is installed.\nELEMENT_SUB_TYPE_VM 4 ELEMENT_SUB_TYPE_VM is used for VM tags.\nA VM is a software computer that, like a physical computer,\nruns an operating system and applications.\nElementType ElementType enumerates the types of network elements that can be associated with tags.\nName Number Description ELEMENT_TYPE_UNSPECIFIED 0 ELEMENT_TYPE_UNSPECIFIED is the default value.\nELEMENT_TYPE_DEVICE 1 ELEMENT_TYPE_DEVICE is used for device tags.\nELEMENT_TYPE_INTERFACE 2 ELEMENT_TYPE_INTERFACE is used for interface tags.\nTop\narista/tag.v2/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nTagAssignmentBatchedStreamRequest Field Name Type Description partial_eq_filter TagAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignment at end.\n* Each TagAssignment response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignment at start, followed by updates until now.\n* Each TagAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignment at start, followed by updates\nuntil end.\n* Each TagAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagAssignmentBatchedStreamResponse Field Name Type Description responses TagAssignmentStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagAssignmentConfigBatchedStreamRequest Field Name Type Description partial_eq_filter TagAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignmentConfig at end.\n* Each TagAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignmentConfig at start, followed by updates until now.\n* Each TagAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignmentConfig at start, followed by updates\nuntil end.\n* Each TagAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagAssignmentConfigBatchedStreamResponse Field Name Type Description responses TagAssignmentConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagAssignmentConfigDeleteAllRequest Field Name Type Description partial_eq_filter TagAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nTagAssignmentConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TagAssignmentKey This is the key of the TagAssignmentConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTagAssignmentConfigDeleteRequest Field Name Type Description key TagAssignmentKey Key indicates which TagAssignmentConfig instance to remove.\nThis field must always be set.\nTagAssignmentConfigDeleteResponse Field Name Type Description key TagAssignmentKey Key echoes back the key of the deleted TagAssignmentConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTagAssignmentConfigDeleteSomeRequest Field Name Type Description keys TagAssignmentKey[\u0026hellip;] key contains a list of TagAssignmentConfig keys to delete\nTagAssignmentConfigDeleteSomeResponse TagAssignmentConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TagAssignmentKey error string TagAssignmentConfigRequest Field Name Type Description key TagAssignmentKey Key uniquely identifies a TagAssignmentConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentConfigResponse Field Name Type Description value TagAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTagAssignmentConfig instance in this response.\nTagAssignmentConfigSetRequest Field Name Type Description value TagAssignmentConfig TagAssignmentConfig carries the value to set into the datastore.\nSee the documentation on the TagAssignmentConfig struct for which fields are required.\nTagAssignmentConfigSetResponse Field Name Type Description value TagAssignmentConfig Value carries all the values given in the TagAssignmentConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTagAssignmentConfigSetSomeRequest Field Name Type Description values TagAssignmentConfig[\u0026hellip;] value contains a list of TagAssignmentConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTagAssignmentConfigSetSomeResponse Field Name Type Description key TagAssignmentKey error string TagAssignmentConfigSomeRequest Field Name Type Description keys TagAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentConfigSomeResponse Field Name Type Description value TagAssignmentConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagAssignmentConfigStreamRequest Field Name Type Description partial_eq_filter TagAssignmentConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignmentConfig at end.\n* Each TagAssignmentConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignmentConfig at start, followed by updates until now.\n* Each TagAssignmentConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignmentConfig at start, followed by updates\nuntil end.\n* Each TagAssignmentConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagAssignmentConfigStreamResponse Field Name Type Description value TagAssignmentConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TagAssignmentConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TagAssignmentConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagAssignmentRequest Field Name Type Description key TagAssignmentKey Key uniquely identifies a TagAssignment instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentResponse Field Name Type Description value TagAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTagAssignment instance in this response.\nTagAssignmentSomeRequest Field Name Type Description keys TagAssignmentKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagAssignmentSomeResponse Field Name Type Description value TagAssignment Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagAssignmentStreamRequest Field Name Type Description partial_eq_filter TagAssignment[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagAssignment at end.\n* Each TagAssignment response is fully-specified (all fields set).\n* start: Returns the state of each TagAssignment at start, followed by updates until now.\n* Each TagAssignment response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagAssignment at start, followed by updates\nuntil end.\n* Each TagAssignment response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagAssignmentStreamResponse Field Name Type Description value TagAssignment Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TagAssignment\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TagAssignment value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagBatchedStreamRequest Field Name Type Description partial_eq_filter Tag[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Tag at end.\n* Each Tag response is fully-specified (all fields set).\n* start: Returns the state of each Tag at start, followed by updates until now.\n* Each Tag response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Tag at start, followed by updates\nuntil end.\n* Each Tag response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagBatchedStreamResponse Field Name Type Description responses TagStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagConfigBatchedStreamRequest Field Name Type Description partial_eq_filter TagConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagConfig at end.\n* Each TagConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagConfig at start, followed by updates until now.\n* Each TagConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagConfig at start, followed by updates\nuntil end.\n* Each TagConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nTagConfigBatchedStreamResponse Field Name Type Description responses TagConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nTagConfigDeleteAllRequest Field Name Type Description partial_eq_filter TagConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nTagConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey TagKey This is the key of the TagConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nTagConfigDeleteRequest Field Name Type Description key TagKey Key indicates which TagConfig instance to remove.\nThis field must always be set.\nTagConfigDeleteResponse Field Name Type Description key TagKey Key echoes back the key of the deleted TagConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nTagConfigDeleteSomeRequest Field Name Type Description keys TagKey[\u0026hellip;] key contains a list of TagConfig keys to delete\nTagConfigDeleteSomeResponse TagConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key TagKey error string TagConfigRequest Field Name Type Description key TagKey Key uniquely identifies a TagConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagConfigResponse Field Name Type Description value TagConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTagConfig instance in this response.\nTagConfigSetRequest Field Name Type Description value TagConfig TagConfig carries the value to set into the datastore.\nSee the documentation on the TagConfig struct for which fields are required.\nTagConfigSetResponse Field Name Type Description value TagConfig Value carries all the values given in the TagConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nTagConfigSetSomeRequest Field Name Type Description values TagConfig[\u0026hellip;] value contains a list of TagConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nTagConfigSetSomeResponse Field Name Type Description key TagKey error string TagConfigSomeRequest Field Name Type Description keys TagKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagConfigSomeResponse Field Name Type Description value TagConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagConfigStreamRequest Field Name Type Description partial_eq_filter TagConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each TagConfig at end.\n* Each TagConfig response is fully-specified (all fields set).\n* start: Returns the state of each TagConfig at start, followed by updates until now.\n* Each TagConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each TagConfig at start, followed by updates\nuntil end.\n* Each TagConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagConfigStreamResponse Field Name Type Description value TagConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this TagConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the TagConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagRequest Field Name Type Description key TagKey Key uniquely identifies a Tag instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagResponse Field Name Type Description value Tag Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nTag instance in this response.\nTagSomeRequest Field Name Type Description keys TagKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nTagSomeResponse Field Name Type Description value Tag Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp TagStreamRequest Field Name Type Description partial_eq_filter Tag[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Tag at end.\n* Each Tag response is fully-specified (all fields set).\n* start: Returns the state of each Tag at start, followed by updates until now.\n* Each Tag response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Tag at start, followed by updates\nuntil end.\n* Each Tag response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nTagStreamResponse Field Name Type Description value Tag Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Tag\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Tag value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nTagAssignmentConfigService Method Name Request Type Response Type Description GetOne TagAssignmentConfigRequest TagAssignmentConfigResponse GetSome TagAssignmentConfigSomeRequest TagAssignmentConfigSomeResponse stream GetAll TagAssignmentConfigStreamRequest TagAssignmentConfigStreamResponse stream Subscribe TagAssignmentConfigStreamRequest TagAssignmentConfigStreamResponse stream GetMeta TagAssignmentConfigStreamRequest MetaResponse SubscribeMeta TagAssignmentConfigStreamRequest MetaResponse stream Set TagAssignmentConfigSetRequest TagAssignmentConfigSetResponse SetSome TagAssignmentConfigSetSomeRequest TagAssignmentConfigSetSomeResponse stream Delete TagAssignmentConfigDeleteRequest TagAssignmentConfigDeleteResponse DeleteSome TagAssignmentConfigDeleteSomeRequest TagAssignmentConfigDeleteSomeResponse stream DeleteAll TagAssignmentConfigDeleteAllRequest TagAssignmentConfigDeleteAllResponse stream GetAllBatched TagAssignmentConfigBatchedStreamRequest TagAssignmentConfigBatchedStreamResponse stream SubscribeBatched TagAssignmentConfigBatchedStreamRequest TagAssignmentConfigBatchedStreamResponse stream TagAssignmentService Method Name Request Type Response Type Description GetOne TagAssignmentRequest TagAssignmentResponse GetSome TagAssignmentSomeRequest TagAssignmentSomeResponse stream GetAll TagAssignmentStreamRequest TagAssignmentStreamResponse stream Subscribe TagAssignmentStreamRequest TagAssignmentStreamResponse stream GetMeta TagAssignmentStreamRequest MetaResponse SubscribeMeta TagAssignmentStreamRequest MetaResponse stream GetAllBatched TagAssignmentBatchedStreamRequest TagAssignmentBatchedStreamResponse stream SubscribeBatched TagAssignmentBatchedStreamRequest TagAssignmentBatchedStreamResponse stream TagConfigService Method Name Request Type Response Type Description GetOne TagConfigRequest TagConfigResponse GetSome TagConfigSomeRequest TagConfigSomeResponse stream GetAll TagConfigStreamRequest TagConfigStreamResponse stream Subscribe TagConfigStreamRequest TagConfigStreamResponse stream GetMeta TagConfigStreamRequest MetaResponse SubscribeMeta TagConfigStreamRequest MetaResponse stream Set TagConfigSetRequest TagConfigSetResponse SetSome TagConfigSetSomeRequest TagConfigSetSomeResponse stream Delete TagConfigDeleteRequest TagConfigDeleteResponse DeleteSome TagConfigDeleteSomeRequest TagConfigDeleteSomeResponse stream DeleteAll TagConfigDeleteAllRequest TagConfigDeleteAllResponse stream GetAllBatched TagConfigBatchedStreamRequest TagConfigBatchedStreamResponse stream SubscribeBatched TagConfigBatchedStreamRequest TagConfigBatchedStreamResponse stream TagService Method Name Request Type Response Type Description GetOne TagRequest TagResponse GetSome TagSomeRequest TagSomeResponse stream GetAll TagStreamRequest TagStreamResponse stream Subscribe TagStreamRequest TagStreamResponse stream GetMeta TagStreamRequest MetaResponse SubscribeMeta TagStreamRequest MetaResponse stream GetAllBatched TagBatchedStreamRequest TagBatchedStreamResponse stream SubscribeBatched TagBatchedStreamRequest TagBatchedStreamResponse stream "},{"uri":"https://aristanetworks.github.io/cloudvision-apis/tags/","title":"Tags","tags":[],"description":"","content":""},{"uri":"https://aristanetworks.github.io/cloudvision-apis/models/workspace.v1/","title":"workspace.v1","tags":[],"description":"","content":" arista/workspace.v1/workspace.proto\nAuthzResult\nBuildStageState\nBuildStageState.ValuesEntry\nConfigValidationResult\nConfigletBuildResult\nConfigletBuildResults\nConfigletBuildResults.ValuesEntry\nImageValidationResult\nInputError\nInputErrors\nInputValidationResult\nInputValidationResults\nInputValidationResults.ValuesEntry\nRequestParams\nResponse\nResponses\nResponses.ValuesEntry\nTemplateError\nTemplateErrors\nWorkspace\nWorkspaceBuild\nWorkspaceBuildDetails\nWorkspaceBuildDetailsKey\nWorkspaceBuildKey\nWorkspaceConfig\nWorkspaceKey\nBuildStage\nBuildState\nConfigValidationSkipCause\nDeviceAuthzStatus\nImageValidationSkipCause\nRequest\nResponseCode\nResponseStatus\nWorkspaceState\narista/workspace.v1/services.gen.proto\nMetaResponse\nWorkspaceBatchedStreamRequest\nWorkspaceBatchedStreamResponse\nWorkspaceBuildBatchedStreamRequest\nWorkspaceBuildBatchedStreamResponse\nWorkspaceBuildDetailsBatchedStreamRequest\nWorkspaceBuildDetailsBatchedStreamResponse\nWorkspaceBuildDetailsRequest\nWorkspaceBuildDetailsResponse\nWorkspaceBuildDetailsSomeRequest\nWorkspaceBuildDetailsSomeResponse\nWorkspaceBuildDetailsStreamRequest\nWorkspaceBuildDetailsStreamResponse\nWorkspaceBuildRequest\nWorkspaceBuildResponse\nWorkspaceBuildSomeRequest\nWorkspaceBuildSomeResponse\nWorkspaceBuildStreamRequest\nWorkspaceBuildStreamResponse\nWorkspaceConfigBatchedStreamRequest\nWorkspaceConfigBatchedStreamResponse\nWorkspaceConfigDeleteAllRequest\nWorkspaceConfigDeleteAllResponse\nWorkspaceConfigDeleteRequest\nWorkspaceConfigDeleteResponse\nWorkspaceConfigDeleteSomeRequest\nWorkspaceConfigDeleteSomeResponse\nWorkspaceConfigRequest\nWorkspaceConfigResponse\nWorkspaceConfigSetRequest\nWorkspaceConfigSetResponse\nWorkspaceConfigSetSomeRequest\nWorkspaceConfigSetSomeResponse\nWorkspaceConfigSomeRequest\nWorkspaceConfigSomeResponse\nWorkspaceConfigStreamRequest\nWorkspaceConfigStreamResponse\nWorkspaceRequest\nWorkspaceResponse\nWorkspaceSomeRequest\nWorkspaceSomeResponse\nWorkspaceStreamRequest\nWorkspaceStreamResponse\nWorkspaceBuildDetailsService\nWorkspaceBuildService\nWorkspaceConfigService\nWorkspaceService\nTop\narista/workspace.v1/workspace.proto AuthzResult AuthzResult has the result of the authorization check for workspace changes.\nField Name Type Description has_unauthorized_tag_change google.protobuf.BoolValue has_unauthorized_tag_change is true when there is a tag assignment that results\nin change in permissions and the subject is not authorized to do it.\nhas_unauthorized_device_change google.protobuf.BoolValue has_unauthorized_device_change is true when there is atleast 1 device\nfor which the subject doesn\u0026rsquo;t have provision permission.\nerror google.protobuf.StringValue error is an error message that is set when either of the above values\nare true.\nBuildStageState BuildStageState holds the state per build stage.\nField Name Type Description values BuildStageState.ValuesEntry[\u0026hellip;] values is a map from build stage to build state.\nThe possible keys to this map are BUILD_STAGE_UNSPECIFIED,\nBUILD_STAGE_INPUT_VALIDATION, BUILD_STAGE_CONFIGLET_BUILD,\nBUILD_STAGE_CONFIG_VALIDATION and BUILD_STAGE_IMAGE_VALIDATION.\nBuildStageState.ValuesEntry Field Name Type Description key string value BuildState ConfigValidationResult ConfigValidationResult holds the result of a config validation stage.\nField Name Type Description summary arista.configstatus.v1.ConfigSummary summary is a summary of the changes to the previous config.\nerrors arista.configstatus.v1.ConfigErrors errors are any errors detected in the generated config.\nwarnings arista.configstatus.v1.ConfigErrors warnings are any warnings about the generated config.\nconfig_sources arista.configstatus.v1.ConfigSources config_sources identify the entities that generated the config.\nConfigletBuildResult ConfigletBuildResult holds the result of a configlet build stage.\nField Name Type Description template_errors TemplateErrors template_errors are errors that occured during studio template evaluation.\ngenerated_config google.protobuf.StringValue generated_config is the EOS CLI config that was generated from the stage.\nother_error google.protobuf.StringValue other_error is any other miscellaneous error.\nexecution_id google.protobuf.StringValue execution_id is the unique ID for the execution of the template. This ID\ncan be used to retrieve logs generated by the template.\ninput_errors InputErrors input_errors are errors in input fields that are raised by the template.\nConfigletBuildResults ConfigletBuildResults is a collection of ConfigletBuildResult (one per studio).\nField Name Type Description values ConfigletBuildResults.ValuesEntry[\u0026hellip;] values is a map from studio ID to ConfigletBuildResult.\nConfigletBuildResults.ValuesEntry Field Name Type Description key string value ConfigletBuildResult ImageValidationResult ImageValidationResult holds the result of an image validation stage.\nField Name Type Description summary arista.imagestatus.v1.ImageSummary summary is a summary of the changes to the previous image.\nerrors arista.imagestatus.v1.ImageErrors errors are any errors detected in the generated image.\nwarnings arista.imagestatus.v1.ImageWarnings warnings are any warnings about the generated image.\nimage_input_error google.protobuf.StringValue image_input_error indicates any errors in image inputs.\nInputError InputError holds the details for an error on a studio input field or value.\nField Name Type Description field_id google.protobuf.StringValue field_id is the ID of the input field.\npath fmp.RepeatedString path is the path leading up to the input field.\nmembers fmp.RepeatedString members are the members of the input field (if it is a group).\nmessage google.protobuf.StringValue message is the error message.\nInputErrors InputErrors is a list of InputError.\nField Name Type Description values InputError[\u0026hellip;] values is a list of InputError.\nInputValidationResult InputValidationResult holds the result of an input validation build stage.\nField Name Type Description input_schema_errors InputErrors input_schema_errors are errors for fields in the input schema.\ninput_value_errors InputErrors input_value_errors are errors for values assigned to fields in the input schema.\nother_errors fmp.RepeatedString other_errors are other miscellaneous errors.\nInputValidationResults InputValidationResults is a collection of InputValidationResult (one per studio).\nField Name Type Description values InputValidationResults.ValuesEntry[\u0026hellip;] values is map from studio ID to InputValidationResult.\nInputValidationResults.ValuesEntry Field Name Type Description key string value InputValidationResult RequestParams RequestParams define the parameters for a Request.\nField Name Type Description request_id google.protobuf.StringValue request_id is the unique ID of the request. This is used to identify\nthe Response for the request in Responses.\nResponse Response is a response to a Request.\nField Name Type Description status ResponseStatus status is the execution status of the response.\nmessage google.protobuf.StringValue message is a string that provides more details about the response.\ncode ResponseCode code is the code of the response.\nResponses Responses is a collection of responses for completed requests.\nField Name Type Description values Responses.ValuesEntry[\u0026hellip;] values is a map from request ID to Response.\nResponses.ValuesEntry Field Name Type Description key string value Response TemplateError TemplateError holds details for an error that occured while evaluating a studio template against its inputs.\nField Name Type Description line_num google.protobuf.UInt32Value line_num is the number of the line on which the error occurred.\nexception google.protobuf.StringValue exception is the type of the exception thrown during the script execution.\nE.g., AssertionError, etc.\ndetail google.protobuf.StringValue detail holds the details of the exception. E.g., a full backtrace.\nexception_msg google.protobuf.StringValue exception_msg is the message of the exception thrown during the script execution.\nTemplateErrors TemplateErrors is a list of TemplateError.\nField Name Type Description values TemplateError[\u0026hellip;] values is a list of TemplateError.\nWorkspace Workspace holds the status of a workspace.\nField Name Type Description key WorkspaceKey key identifies the workspace.\ncreated_at google.protobuf.Timestamp created_at indicates when the workspace was created.\ncreated_by google.protobuf.StringValue created_by indicates who created the workspace.\nlast_modified_at google.protobuf.Timestamp last_modified_at indicates when the workspace was last updated.\nlast_modified_by google.protobuf.StringValue last_modified_by indicates who last updated the workspace.\nstate WorkspaceState state describes the status of the workspace.\nlast_build_id google.protobuf.StringValue last_build_id is the last build ID that was set in a WorkspaceBuild\nfor this workspace.\nresponses Responses responses are the responses for all requests that have been executed\nthusfar for this workspace.\ncc_ids fmp.RepeatedString cc_ids are the IDs of any change controls that were created as a result\nof submitting this workspace.\nneeds_build google.protobuf.BoolValue needs_build indicates whether a rebuild of the workspace is necessary\nin order to submit it.\nlast_rebased_at google.protobuf.Timestamp last_rebased_at indicates when the workspace was last rebased.\nneeds_rebase google.protobuf.BoolValue needs_rebase indicates whether a rebase of the workspace is necessary\nin order to submit it.\ndisplay_name google.protobuf.StringValue display_name is the user-defined name of the workspace.\ndescription google.protobuf.StringValue description is a brief description of the workspace.\nWorkspaceBuild WorkspaceBuild holds the details for a build of a workspace.\nField Name Type Description key WorkspaceBuildKey key identifies the build.\nstate BuildState state is the execution status of the build.\nerror google.protobuf.StringValue error is an error message that is set if the build fails early before\nthe per-device build result is computed.\nbuilt_by google.protobuf.StringValue built_by is the details of subject who built the workspace.\nauthz_result AuthzResult authz_result has the result of authorization check.\nWorkspaceBuildDetails WorkspaceBuildDetails holds the details for a build of a device in a workspace.\nField Name Type Description key WorkspaceBuildDetailsKey key identifies the build.\nstate BuildState state is the execution status of the build.\nstage BuildStage stage is the stage of the build.\ninput_validation_results InputValidationResults input_validation_results are the results of the input validation stage.\nconfiglet_build_results ConfigletBuildResults configlet_build_results are the results of the configlet build stage.\nconfig_validation_result ConfigValidationResult config_validation_result is the result of the config validation stage.\nimage_validation_result ImageValidationResult image_validation_result is the result of the image validation stage.\nconfig_validation_skip_cause ConfigValidationSkipCause config_validation_skip_cause is the reason, if any, that the config\nvalidation stage was skipped.\nimage_validation_skip_cause ImageValidationSkipCause image_validation_skip_cause is the reason, if any, that the image\nvalidation stage was skipped.\nbuild_stage_state BuildStageState build_stage_state is the state for each build stage.\nauthz_status DeviceAuthzStatus authz_status is the status of provision permission for the device.\nWorkspaceBuildDetailsKey WorkspaceBuildDetailsKey uniquely identifies a build for a particular device in a workspace.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of the workspace.\nbuild_id google.protobuf.StringValue build_id is the ID of the build.\ndevice_id google.protobuf.StringValue device_id is the ID of the device.\nWorkspaceBuildKey WorkspaceBuildKey uniquely identifies a build for a workspace.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the ID of the workspace.\nbuild_id google.protobuf.StringValue build_id is the ID of the build.\nWorkspaceConfig WorkspaceConfig holds the configuration of a workspace.\nField Name Type Description key WorkspaceKey key identifies the workspace.\ndisplay_name google.protobuf.StringValue display_name is the user-defined name of the workspace.\ndescription google.protobuf.StringValue description is a brief description of the workspace.\nrequest Request request (if not REQUEST_UNSPECIFIED) kicks off an asynchronous operation\non the workspace.\nrequest_params RequestParams request_params specify the parameters for request.\nWorkspaceKey WorkspaceKey uniquely identifies a workspace.\nField Name Type Description workspace_id google.protobuf.StringValue workspace_id is the unique ID of the workspace.\nBuildStage BuildStage enumerates the types of stages of a build of a workspace.\nName Number Description BUILD_STAGE_UNSPECIFIED 0 BUILD_STAGE_UNSPECIFIED indicates unspecified build stage.\nBUILD_STAGE_INPUT_VALIDATION 1 BUILD_STAGE_INPUT_VALIDATION describes the stage that detects input\nerrors in studios based on their schemas.\nBUILD_STAGE_CONFIGLET_BUILD 2 BUILD_STAGE_CONFIGLET_BUILD describes the stage that generates EOS CLI\nconfigs and images for devices by evaluating studio templates against\ntheir inputs.\nBUILD_STAGE_CONFIG_VALIDATION 3 BUILD_STAGE_CONFIG_VALIDATION describes the stage that validates the\ngenerated EOS CLI configs (e.g., checks for errors in the config).\nBUILD_STAGE_IMAGE_VALIDATION 4 BUILD_STAGE_IMAGE_VALIDATION describes the stage that validates the\ngenerated images (e.g., checks device compatibility).\nBuildState BuildState enumerates the set of states that a BuildStage can be in during a workspace build cycle.\nName Number Description BUILD_STATE_UNSPECIFIED 0 BUILD_STATE_UNSPECIFIED indicates unspecified build state.\nBUILD_STATE_IN_PROGRESS 1 BUILD_STATE_IN_PROGRESS indicates that the BuildStage was started but has\nnot yet completed.\nBUILD_STATE_CANCELED 2 BUILD_STATE_CANCELED indicates that the BuildStage was started but then\nstopped before completion.\nBUILD_STATE_SUCCESS 3 BUILD_STATE_SUCCESS indicates that the BuildStage was started and ran to\ncompletion successfully.\nBUILD_STATE_FAIL 4 BUILD_STATE_FAIL indicates that the BuildStage was started and ran to\ncompletion unsuccessfully.\nBUILD_STATE_SKIPPED 5 BUILD_STATE_SKIPPED indicates that the BuildStage was not run.\nConfigValidationSkipCause ConfigValidationSkipCause enumerates the set of reasons a device can skip the config validation stage.\nName Number Description CONFIG_VALIDATION_SKIP_CAUSE_UNSPECIFIED 0 CONFIG_VALIDATION_SKIP_CAUSE_UNSPECIFIED indicates config validation skip cause is\nunspecified.\nCONFIG_VALIDATION_SKIP_CAUSE_INACTIVE 1 CONFIG_VALIDATION_SKIP_CAUSE_INACTIVE indicates that the stage was skipped\nbecause the device is not streaming.\nCONFIG_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED 2 CONFIG_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED indicates that the stage was\nskipped because the device is pre-provisioned.\nCONFIG_VALIDATION_SKIP_CAUSE_CONFIG_UNCHANGED 3 CONFIG_VALIDATION_SKIP_CAUSE_CONFIG_UNCHANGED indicates that the stage was\nskipped because the device has no configuration changes in the workspace.\nCONFIG_VALIDATION_SKIP_CAUSE_NO_CONFIG_SOURCES 4 CONFIG_VALIDATION_SKIP_CAUSE_NO_CONFIG_SOURCES indicates that the stage was\nskipped because the device has no config sources in the workspace.\nDeviceAuthzStatus DeviceAuthzStatus holds the result of the authorization check on device.\nName Number Description DEVICE_AUTHZ_STATUS_UNSPECIFIED 0 DEVICE_AUTHZ_STATUS_UNSPECIFIED indicates the authorization check is pending.\nDEVICE_AUTHZ_STATUS_AUTHORIZED 1 DEVICE_AUTHZ_STATUS_AUTHORIZED indicates the subject\nis authorized to provision this device.\nDEVICE_AUTHZ_STATUS_UNAUTHORIZED 2 DEVICE_AUTHZ_STATUS_UNAUTHORIZED indicates the subject\nis unauthorized to provision this device.\nImageValidationSkipCause ImageValidationSkipCause enumerates the set of reasons a device can skip the image validation stage.\nName Number Description IMAGE_VALIDATION_SKIP_CAUSE_UNSPECIFIED 0 IMAGE_VALIDATION_SKIP_CAUSE_UNSPECIFIED indicates image validation skip cause is\nunspecified.\nIMAGE_VALIDATION_SKIP_CAUSE_INACTIVE 1 IMAGE_VALIDATION_SKIP_CAUSE_INACTIVE indicates that the stage was skipped\nbecause the device is not streaming.\nIMAGE_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED 2 IMAGE_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED indicates that the stage was\nskipped because the device is pre-provisioned.\nIMAGE_VALIDATION_SKIP_CAUSE_IMAGE_UNCHANGED 3 IMAGE_VALIDATION_SKIP_CAUSE_IMAGE_UNCHANGED indicates that the stage was\nskipped because the device has no image changes in the workspace.\nIMAGE_VALIDATION_SKIP_CAUSE_NO_PROPOSED_SOFTWARE 4 IMAGE_VALIDATION_SKIP_CAUSE_NO_PROPOSED_SOFTWARE indicates that the stage was\nskipped because the device has no proposed software changes in the workspace.\nRequest Request enumerates the set of asynchronous operations that can be performed on a workspace.\nName Number Description REQUEST_UNSPECIFIED 0 REQUEST_UNSPECIFIED describes unspecified request.\nREQUEST_START_BUILD 1 REQUEST_START_BUILD describes a request to start building a workspace. This kicks\nof a multi-stage operation to compile and validate the changes in a workspace (see\nBuildStage for more details).\nREQUEST_CANCEL_BUILD 2 REQUEST_CANCEL_BUILD describes a request to stop building a workspace.\nREQUEST_SUBMIT 3 REQUEST_SUBMIT describes a request to submit a workspace to the mainline. Before\nsubmission, some checks are made that can cause the request to fail. E.g., if there\nis a modified configuration for a non-streaming device in the workspace, then the\nrequest will fail. Once submitted, changes are applied and change controls are\ncreated (if necessary).\nREQUEST_ABANDON 4 REQUEST_ABANDON describes a request to abandon a workspace. This operation does\nnot delete the workspace from the system, but closes it to any further updates.\nREQUEST_ROLLBACK 5 REQUEST_ROLLBACK describes a request to rollback a submitted workspace, undoing\ncorresponding changes in the mainline.\nREQUEST_SUBMIT_FORCE 6 REQUEST_SUBMIT_FORCE describes a request to submit a workspace without making any\nchecks that could normally cause the submission to fail. See REQUEST_SUBMIT for\nmore details.\nREQUEST_REBASE 7 REQUEST_REBASE describes a request to rebase a workspace. This operation updates\nworkspace state to reflect the latest mainline content, and re-applies workspace\nchanges on top of that.\nResponseCode ResponseCode is a code for a Response indicating a particular scenario.\nName Number Description RESPONSE_CODE_UNSPECIFIED 0 RESPONSE_CODE_UNSPECIFIED indicates unspecified response code.\nRESPONSE_CODE_INACTIVE_DEVICES_EXIST 1 RESPONSE_CODE_INACTIVE_DEVICES_EXIST indicates that there are devices that have inactive\nstreaming status.\nResponseStatus ResponseStatus enumerates the set of execution statuses of a Response.\nName Number Description RESPONSE_STATUS_UNSPECIFIED 0 RESPONSE_STATUS_UNSPECIFIED indicates unspecified response status.\nRESPONSE_STATUS_SUCCESS 1 RESPONSE_STATUS_SUCCESS indicates that the original Request was successful\nin its execution.\nRESPONSE_STATUS_FAIL 2 RESPONSE_STATUS_FAIL indicates that the original Request was unsuccessful\nin its execution.\nWorkspaceState WorkspaceState enumerates the general states of a workspace. Some of these states are derived as a result of executing a specific request on the workspace (see Request).\nName Number Description WORKSPACE_STATE_UNSPECIFIED 0 WORKSPACE_STATE_UNSPECIFIED indicates unspecified workspace state.\nWORKSPACE_STATE_PENDING 1 WORKSPACE_STATE_PENDING indicates that the changes in the workspace are open and\nhave not been submitted.\nWORKSPACE_STATE_SUBMITTED 2 WORKSPACE_STATE_SUBMITTED indicates that the changes in the workspace have been\nsubmitted to the mainline.\nWORKSPACE_STATE_ABANDONED 3 WORKSPACE_STATE_ABANDONED indicates that the workspace has been intentionally\nclosed, and may no longer be updated.\nWORKSPACE_STATE_CONFLICTS 4 WORKSPACE_STATE_CONFLICTS indicates that the changes in the workspace are in\nconflict with the current state of the system.\nWORKSPACE_STATE_ROLLED_BACK 5 WORKSPACE_STATE_ROLLED_BACK indicates that the workspace was submitted, but\nhas been rolled back (the changes have been undone).\nTop\narista/workspace.v1/services.gen.proto MetaResponse Field Name Type Description time google.protobuf.Timestamp Time holds the timestamp of the last item included in the metadata calculation.\ntype arista.subscriptions.Operation Operation indicates how the value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\ncount google.protobuf.UInt32Value Count is the number of items present under the conditions of the request.\nWorkspaceBatchedStreamRequest Field Name Type Description partial_eq_filter Workspace[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Workspace at end.\n* Each Workspace response is fully-specified (all fields set).\n* start: Returns the state of each Workspace at start, followed by updates until now.\n* Each Workspace response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Workspace at start, followed by updates\nuntil end.\n* Each Workspace response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceBatchedStreamResponse Field Name Type Description responses WorkspaceStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceBuildBatchedStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuild[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuild at end.\n* Each WorkspaceBuild response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuild at start, followed by updates until now.\n* Each WorkspaceBuild response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuild at start, followed by updates\nuntil end.\n* Each WorkspaceBuild response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceBuildBatchedStreamResponse Field Name Type Description responses WorkspaceBuildStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceBuildDetailsBatchedStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuildDetails[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuildDetails at end.\n* Each WorkspaceBuildDetails response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates\nuntil end.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceBuildDetailsBatchedStreamResponse Field Name Type Description responses WorkspaceBuildDetailsStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceBuildDetailsRequest Field Name Type Description key WorkspaceBuildDetailsKey Key uniquely identifies a WorkspaceBuildDetails instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildDetailsResponse Field Name Type Description value WorkspaceBuildDetails Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspaceBuildDetails instance in this response.\nWorkspaceBuildDetailsSomeRequest Field Name Type Description keys WorkspaceBuildDetailsKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildDetailsSomeResponse Field Name Type Description value WorkspaceBuildDetails Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceBuildDetailsStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuildDetails[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuildDetails at end.\n* Each WorkspaceBuildDetails response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates\nuntil end.\n* Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceBuildDetailsStreamResponse Field Name Type Description value WorkspaceBuildDetails Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this WorkspaceBuildDetails\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the WorkspaceBuildDetails value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceBuildRequest Field Name Type Description key WorkspaceBuildKey Key uniquely identifies a WorkspaceBuild instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildResponse Field Name Type Description value WorkspaceBuild Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspaceBuild instance in this response.\nWorkspaceBuildSomeRequest Field Name Type Description keys WorkspaceBuildKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceBuildSomeResponse Field Name Type Description value WorkspaceBuild Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceBuildStreamRequest Field Name Type Description partial_eq_filter WorkspaceBuild[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceBuild at end.\n* Each WorkspaceBuild response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceBuild at start, followed by updates until now.\n* Each WorkspaceBuild response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceBuild at start, followed by updates\nuntil end.\n* Each WorkspaceBuild response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceBuildStreamResponse Field Name Type Description value WorkspaceBuild Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this WorkspaceBuild\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the WorkspaceBuild value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceConfigBatchedStreamRequest Field Name Type Description partial_eq_filter WorkspaceConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceConfig at end.\n* Each WorkspaceConfig response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceConfig at start, followed by updates until now.\n* Each WorkspaceConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceConfig at start, followed by updates\nuntil end.\n* Each WorkspaceConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nmax_messages google.protobuf.UInt32Value MaxMessages limits the maximum number of messages that can be contained in one batch.\nMaxMessages is required to be at least 1.\nThe maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)\nINTERNAL_BATCH_LIMIT is set based on the maximum message size.\nWorkspaceConfigBatchedStreamResponse Field Name Type Description responses WorkspaceConfigStreamResponse[\u0026hellip;] Values are the values deemed relevant to the initiating request.\nThe length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT).\nWorkspaceConfigDeleteAllRequest Field Name Type Description partial_eq_filter WorkspaceConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a DeleteAll.\nThis requires all provided fields to be equal to the response.\nA filtered DeleteAll will use GetAll with filter to find things to delete.\nWorkspaceConfigDeleteAllResponse Field Name Type Description type fmp.DeleteError This describes the class of delete error.\nA DeleteAllResponse is only sent when there is an error.\nerror google.protobuf.StringValue This indicates the error message from the delete failure.\nkey WorkspaceKey This is the key of the WorkspaceConfig instance that failed to be deleted.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp when the key was being deleted.\nWorkspaceConfigDeleteRequest Field Name Type Description key WorkspaceKey Key indicates which WorkspaceConfig instance to remove.\nThis field must always be set.\nWorkspaceConfigDeleteResponse Field Name Type Description key WorkspaceKey Key echoes back the key of the deleted WorkspaceConfig instance.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ndeletion. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==DeletedAt will not include this instance.\nWorkspaceConfigDeleteSomeRequest Field Name Type Description keys WorkspaceKey[\u0026hellip;] key contains a list of WorkspaceConfig keys to delete\nWorkspaceConfigDeleteSomeResponse WorkspaceConfigDeleteSomeResponse is only sent when there is an error.\nField Name Type Description key WorkspaceKey error string WorkspaceConfigRequest Field Name Type Description key WorkspaceKey Key uniquely identifies a WorkspaceConfig instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceConfigResponse Field Name Type Description value WorkspaceConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspaceConfig instance in this response.\nWorkspaceConfigSetRequest Field Name Type Description value WorkspaceConfig WorkspaceConfig carries the value to set into the datastore.\nSee the documentation on the WorkspaceConfig struct for which fields are required.\nWorkspaceConfigSetResponse Field Name Type Description value WorkspaceConfig Value carries all the values given in the WorkspaceConfigSetRequest as well\nas any server-generated values.\ntime google.protobuf.Timestamp Time indicates the (UTC) timestamp at which the system recognizes the\ncreation. The only guarantees made about this timestamp are:\n- it is after the time the request was received\n- a time-ranged query with StartTime==CreatedAt will include this instance.\nWorkspaceConfigSetSomeRequest Field Name Type Description values WorkspaceConfig[\u0026hellip;] value contains a list of WorkspaceConfig values to write.\nIt is possible to provide more values than can fit within either:\n- the maxiumum send size of the client\n- the maximum receive size of the server\nIf this error occurs you must reduce the number of values sent.\nSee gRPC \u0026ldquo;maximum message size\u0026rdquo; documentation for more information.\nWorkspaceConfigSetSomeResponse Field Name Type Description key WorkspaceKey error string WorkspaceConfigSomeRequest Field Name Type Description keys WorkspaceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceConfigSomeResponse Field Name Type Description value WorkspaceConfig Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceConfigStreamRequest Field Name Type Description partial_eq_filter WorkspaceConfig[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each WorkspaceConfig at end.\n* Each WorkspaceConfig response is fully-specified (all fields set).\n* start: Returns the state of each WorkspaceConfig at start, followed by updates until now.\n* Each WorkspaceConfig response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each WorkspaceConfig at start, followed by updates\nuntil end.\n* Each WorkspaceConfig response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceConfigStreamResponse Field Name Type Description value WorkspaceConfig Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this WorkspaceConfig\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the WorkspaceConfig value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceRequest Field Name Type Description key WorkspaceKey Key uniquely identifies a Workspace instance to retrieve.\nThis value must be populated.\ntime google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceResponse Field Name Type Description value Workspace Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\ntime google.protobuf.Timestamp Time carries the (UTC) timestamp of the last-modification of the\nWorkspace instance in this response.\nWorkspaceSomeRequest Field Name Type Description keys WorkspaceKey[\u0026hellip;] time google.protobuf.Timestamp Time indicates the time for which you are interested in the data.\nIf no time is given, the server will use the time at which it makes the request.\nWorkspaceSomeResponse Field Name Type Description value Workspace Value is the value requested.\nThis structure will be fully-populated as it exists in the datastore. If\noptional fields were not given at creation, these fields will be empty or\nset to default values.\nerror google.protobuf.StringValue Error is an optional field.\nIt should be filled when there is an error in the GetSome process.\ntime google.protobuf.Timestamp WorkspaceStreamRequest Field Name Type Description partial_eq_filter Workspace[\u0026hellip;] PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.\nThis requires all provided fields to be equal to the response.\nWhile transparent to users, this field also allows services to optimize internal\nsubscriptions if filter(s) are sufficiently specific.\ntime arista.time.TimeBounds TimeRange allows limiting response data to within a specified time window.\nIf this field is populated, at least one of the two time fields are required.\nFor GetAll, the fields start and end can be used as follows:\n* end: Returns the state of each Workspace at end.\n* Each Workspace response is fully-specified (all fields set).\n* start: Returns the state of each Workspace at start, followed by updates until now.\n* Each Workspace response at start is fully-specified, but updates may be partial.\n* start and end: Returns the state of each Workspace at start, followed by updates\nuntil end.\n* Each Workspace response at start is fully-specified, but updates until end may\nbe partial.\nThis field is not allowed in the Subscribe RPC.\nWorkspaceStreamResponse Field Name Type Description value Workspace Value is a value deemed relevant to the initiating request.\nThis structure will always have its key-field populated. Which other fields are\npopulated, and why, depends on the value of Operation and what triggered this notification.\ntime google.protobuf.Timestamp Time holds the timestamp of this Workspace\u0026rsquo;s last modification.\ntype arista.subscriptions.Operation Operation indicates how the Workspace value in this response should be considered.\nUnder non-subscribe requests, this value should always be INITIAL. In a subscription,\nonce all initial data is streamed and the client begins to receive modification updates,\nyou should not see INITIAL again.\nWorkspaceBuildDetailsService Method Name Request Type Response Type Description GetOne WorkspaceBuildDetailsRequest WorkspaceBuildDetailsResponse GetSome WorkspaceBuildDetailsSomeRequest WorkspaceBuildDetailsSomeResponse stream GetAll WorkspaceBuildDetailsStreamRequest WorkspaceBuildDetailsStreamResponse stream Subscribe WorkspaceBuildDetailsStreamRequest WorkspaceBuildDetailsStreamResponse stream GetMeta WorkspaceBuildDetailsStreamRequest MetaResponse SubscribeMeta WorkspaceBuildDetailsStreamRequest MetaResponse stream GetAllBatched WorkspaceBuildDetailsBatchedStreamRequest WorkspaceBuildDetailsBatchedStreamResponse stream SubscribeBatched WorkspaceBuildDetailsBatchedStreamRequest WorkspaceBuildDetailsBatchedStreamResponse stream WorkspaceBuildService Method Name Request Type Response Type Description GetOne WorkspaceBuildRequest WorkspaceBuildResponse GetSome WorkspaceBuildSomeRequest WorkspaceBuildSomeResponse stream GetAll WorkspaceBuildStreamRequest WorkspaceBuildStreamResponse stream Subscribe WorkspaceBuildStreamRequest WorkspaceBuildStreamResponse stream GetMeta WorkspaceBuildStreamRequest MetaResponse SubscribeMeta WorkspaceBuildStreamRequest MetaResponse stream GetAllBatched WorkspaceBuildBatchedStreamRequest WorkspaceBuildBatchedStreamResponse stream SubscribeBatched WorkspaceBuildBatchedStreamRequest WorkspaceBuildBatchedStreamResponse stream WorkspaceConfigService Method Name Request Type Response Type Description GetOne WorkspaceConfigRequest WorkspaceConfigResponse GetSome WorkspaceConfigSomeRequest WorkspaceConfigSomeResponse stream GetAll WorkspaceConfigStreamRequest WorkspaceConfigStreamResponse stream Subscribe WorkspaceConfigStreamRequest WorkspaceConfigStreamResponse stream GetMeta WorkspaceConfigStreamRequest MetaResponse SubscribeMeta WorkspaceConfigStreamRequest MetaResponse stream Set WorkspaceConfigSetRequest WorkspaceConfigSetResponse SetSome WorkspaceConfigSetSomeRequest WorkspaceConfigSetSomeResponse stream Delete WorkspaceConfigDeleteRequest WorkspaceConfigDeleteResponse DeleteSome WorkspaceConfigDeleteSomeRequest WorkspaceConfigDeleteSomeResponse stream DeleteAll WorkspaceConfigDeleteAllRequest WorkspaceConfigDeleteAllResponse stream GetAllBatched WorkspaceConfigBatchedStreamRequest WorkspaceConfigBatchedStreamResponse stream SubscribeBatched WorkspaceConfigBatchedStreamRequest WorkspaceConfigBatchedStreamResponse stream WorkspaceService Method Name Request Type Response Type Description GetOne WorkspaceRequest WorkspaceResponse GetSome WorkspaceSomeRequest WorkspaceSomeResponse stream GetAll WorkspaceStreamRequest WorkspaceStreamResponse stream Subscribe WorkspaceStreamRequest WorkspaceStreamResponse stream GetMeta WorkspaceStreamRequest MetaResponse SubscribeMeta WorkspaceStreamRequest MetaResponse stream GetAllBatched WorkspaceBatchedStreamRequest WorkspaceBatchedStreamResponse stream SubscribeBatched WorkspaceBatchedStreamRequest WorkspaceBatchedStreamResponse stream "}] \ No newline at end of file diff --git a/index.xml b/index.xml index f43dd4a9..a177666b 100644 --- a/index.xml +++ b/index.xml @@ -537,6 +537,8 @@ ExtensionDiffsBySup.ValuesEntry Extensions ImageError ImageErrors +ImageInfo +ImageInfos ImageMetadata ImageSummary ImageWarning @@ -553,6 +555,7 @@ TerminAttrDiffsBySup.ValuesEntry DiffOp ErrorCode ExtensionInstallStatus +InfoCode SoftwareComplianceCode WarningCode arista/imagestatus.v1/services.gen.proto @@ -568,8 +571,7 @@ SummaryStreamResponse SummaryService Top arista/imagestatus.v1/imagestatus.proto ComplianceStatus ComplianceStatus indicates compliance status for software image, terminattr and extensions. -Field Name Type Description software_image_compliance_code SoftwareComplianceCode software_image_compliance_code is the compliance code for images. -terminattr_compliance_code SoftwareComplianceCode terminattr_compliance_code is the compliance code for TerminAttr.inventory.v1https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/Mon, 01 Jan 0001 00:00:00 +0000https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/arista/inventory.v1/inventory.proto +Field Name Type Description software_image_compliance_code SoftwareComplianceCode software_image_compliance_code is the compliance code for images.inventory.v1https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/Mon, 01 Jan 0001 00:00:00 +0000https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/arista/inventory.v1/inventory.proto Device DeviceConfiguration DeviceConfiguration.OptionsEntry diff --git a/modeling/index.html b/modeling/index.html index b9a46383..1ace4ef8 100644 --- a/modeling/index.html +++ b/modeling/index.html @@ -1,7 +1,7 @@ -Modeling :: Arista Networks FMP APIs -

    Modeling

    Resources are modeled in Protobuf and accessed over gRPC with a standardized set of RPCs (discussed in later sections). These models are divided into two types:

    • config: models which allow user-modification, exposing modifiable/tunable options.
    • state: models which expose read-only operational and/or derived state based on config data.

    Config Models

    Config models describe the user’s interaction with the system. Fields in these models are populated by the user (or by defaults).

    Config models are read-writeable, meaning their APIs expose both read and write methods. The Protobuf message extension fmp.model = "rw" denotes that a given model is used as config and the generated RPCs will expose both read and write method sets.

    State Models

    State models describe the operational state of the system. Fields in these models are populated by the system and are not modifiable (except through the relevant config model).

    State models only have read methods defined and are denoted with the Protobuf message extension fmp.model = "ro".

    While not required, state models are allowed to “echo” the associated config model for convenience of the user. You should check the relevant model(s) before expecting this behaviour, however.

    High Level Config-State Flow

    Below is a diagram explaining the data flow from writing a Config to the system creating/updating State. @@ -20,4 +20,4 @@ google.protobuf.StringValue wrapped_string = 2; }

    A list of the available wrapper types can be seen here, though models may define their own for maps or repeated (array) fields.

    Keys

    All models (whether config or state) contain a key message.

    This key contains the minimal set of data needed to uniquely identify a given model entity. Model keys may be as simple as a single string (say, a name) or as complex as containing references to a datacenter, device, interface, or any combination of them. The complexity of the key depends entirely on the model at hand.

    Messages used for keys are denoted in protobuf with the extension: fmp.model_key = true.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/alert.v1/index.html b/models/alert.v1/index.html index d480b85f..18826dae 100644 --- a/models/alert.v1/index.html +++ b/models/alert.v1/index.html @@ -1,11 +1,11 @@ -alert.v1 :: Arista Networks FMP APIs -

    alert.v1

    Top

    arista/alert.v1/alert.proto

    Alert

    Alert is the current status of the alert system

    Field NameTypeDescription
    configuration_errorsConfigErrors

    configuration_errors contain any configuration errors reported by the backend

    endpoint_errorsEndpointErrors

    endpoint_errors contain any failed attempts to send alerts

    last_modified_atgoogle.protobuf.Timestamp

    last_modified_at is the time at which the configuration was last modified

    last_modified_bygoogle.protobuf.StringValue

    last_modified_by is the user who last modified the configuration

    AlertConfig

    AlertConfig is the configuration for sending alerts

    Field NameTypeDescription
    settingsSettings

    settings is the global default settings for various endpoints used in broadcast groups.

    Can be overwritten in individual endpoint settings

    rulesRules

    rules define how we route alerts to broadcast groups

    broadcast_groupsBroadcastGroups

    broadcast_groups are groups of endpoints that alerts are sent to

    AzureOAuth

    AzureOAuth contains the settings for the sending of emails on Azure smtp server

    Field NameTypeDescription
    client_idgoogle.protobuf.StringValue

    client_id of the Azure environment

    tenant_idgoogle.protobuf.StringValue

    tenant_id of the Azure environment

    client_secretgoogle.protobuf.StringValue

    client_secret is a user generated secret key used for auth

    auth_urigoogle.protobuf.StringValue

    auth_uri is the URI used for OAuth

    this should always be https://login.microsoftonline.com/ unless using a very custom

    set up, where the Azure enviroment is not running on microsoft servers

    scopesfmp.RepeatedString

    scopes are the scopes that auth is granted for

    BroadcastGroup

    BroadcastGroup is a series of endpoints that alerts are sent to if routed there by a rule No restriction on the number of types of endpoints that can be defined

    Field NameTypeDescription
    emailEmailEndpoints

    email is a set of email endpoints to send alerts to as part of this group

    webhookWebhookEndpoints

    webhook is a set of webhook endpoints to send alerts to as part of this group

    slackSlackEndpoints

    slack is a set of slack endpoints to send alerts to as part of this group

    opsgenieOpsgenieEndpoints

    opsgenie is a set of opsgenie endpoints to send alerts to as part of this group

    pushoverPushoverEndpoints

    pushover is a set of pushover endpoints to send alerts to as part of this group

    pagerdutyPagerdutyEndpoints

    pagerduty is a set of pagerduty endpoints to send alerts to as part of this group

    victoropsVictorOpsEndpoints

    victorops is a set of victorops endpoints to send alerts to as part of this group

    gchatGoogleChatEndpoints

    gchat is a set of google chat endpoints to send alerts to as part of this group

    msteamsMsTeamsEndpoints

    msteams is a set of MS teams endpoints to send alerts to as part of this group

    sendgridSendgridEndpoints

    sendgrid is a set of sendgrid endpoints to send alerts to as part of this group

    syslogSyslogEndpoints

    syslog is a set of syslog endpoints to send alerts to as part of this group

    snmpSNMPEndpoints

    snmp is a set of snmp endpoints to send alerts to as part of this group

    cue_syslogCueSyslogEndpoints

    cue_syslog is a set of cue syslog endpoints to send alerts to as part of this group

    cue_snmpCueSnmpEndpoints

    cue_snmp is a set of cue snmp endpoints to send alerts to as part of this group

    cue_sendgridCueSendgridEndpoints

    cue_sendgrid is a set of cue sendgrid endpoints to send alerts to as part of this group

    zoomZoomEndpoints

    zoom is a set of zoom endpoints to send alerts to as part of this group

    BroadcastGroups

    BroadcastGroups is a collection of named broadcast groups

    Field NameTypeDescription
    valuesBroadcastGroups.ValuesEntry[…]

    values is a map of user defined ids to broadcast groups. No restrictions to naming applies

    BroadcastGroups.ValuesEntry

    Field NameTypeDescription
    keystring

    valueBroadcastGroup

    ConfigError

    ConfigError is an error caused by an invalid config being rejected by the backend

    Field NameTypeDescription
    pathgoogle.protobuf.StringValue

    path is the ‘path’ to the invalid config element,

    eg: path.userPathName.email_configs[1].to =

    the ’to’ field of the second email config of the ‘userPathName’ broadcast_group

    error_typeConfigErrorType

    error_type is the type of error, this allows custom handling of different error types

    errorgoogle.protobuf.StringValue

    error is a user-friendly error message

    ConfigErrors

    ConfigErrors is a list of configuration-related errors

    Field NameTypeDescription
    valuesConfigError[…]

    values is a list of errors

    CueData

    CueData contains additional cue-specific data

    Field NameTypeDescription
    valuesCueData.ValuesEntry[…]

    values can contain some additional data which is required by the cue specific provider

    CueData.ValuesEntry

    Field NameTypeDescription
    keystring

    valuestring

    CueSNMPAuth

    CueSNMPAuth is the authentication

    Field NameTypeDescription
    communitygoogle.protobuf.StringValue

    community is the community string used for authentication in SNMPv1 and v2c

    required if version < 3

    usernamegoogle.protobuf.StringValue

    username the username for SNMPv3 auth

    security_levelSNMPSecurityLevel

    security_level the security level for SNMPv3

    authentication_protocolCueSNMPAuthProtocol

    authentication_protocol is the protocol to use for authentication in SNMPv3

    required for AUTH_NO_PRIV/AUTH_PRIV security levels

    authentication_passphrasegoogle.protobuf.StringValue

    authentication_passphrase is the passphrase to use for authentication in SNMPv3

    required for AUTH_NO_PRIV/AUTH_PRIV security levels

    privacy_protocolCueSNMPPrivProtocol

    privacy_protocol is the protocol to use for privacy in SNMPv3

    required for AUTH_PRIV security level

    privacy_passphrasegoogle.protobuf.StringValue

    privacy_passphrase is the passphrase to use for privacy in SNMPv3

    required for AUTH_PRIV security level

    CueSNMPEndpoint

    CueSNMPEndpoint contains the required information for an alert to be sent to a cue SNMP endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    settings_overrideCueSNMPSettings

    settings_override is the override for the cue snmp global endpoint settings

    CueSNMPSettings

    CueSNMPSettings contain the settings for sending cue alerts with SNMP

    Field NameTypeDescription
    targetgoogle.protobuf.StringValue

    target is an ipv4 address to send messages to

    portgoogle.protobuf.Int32Value

    port is the network port to target

    transportgoogle.protobuf.StringValue

    transport is the transport protocol to use (“udp” or “tcp”); if unset “udp” will be used

    versiongoogle.protobuf.Int32Value

    version is the SNMP version, v2c and v3 are supported and can be set with 2 and 3 respectively

    authCueSNMPAuth

    auth is the optional authentication settings

    dataCueData

    data is additional data that maybe required for constructing the message or sending it

    CueSendgridEndpoint

    CueSendgridEndpoint contains the required information for an alert to be sent to a cue sendgrid endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    togoogle.protobuf.StringValue

    to address to send email to

    http_overrideHttpSettings

    http_override is the override of the global http settings

    This overrides the value used in Settings message in the global alert config

    CueSendgridEndpoints

    CueSendgridEndpoints is a set of cue sendgrid endpoints

    Field NameTypeDescription
    valuesCueSendgridEndpoint[…]

    values are the elements of the set

    CueSendgridSettings

    CueSendgridSettings contain the settings for sending cue alerts to sendgrid

    Field NameTypeDescription
    api_keygoogle.protobuf.StringValue

    api_key is the key used to connect to the sendgrid APIs

    fromgoogle.protobuf.StringValue

    from is the sender’s address in the email sent

    CueSnmpEndpoints

    CueSnmpEndpoints is a set of cue SNMP endpoints

    Field NameTypeDescription
    valuesCueSNMPEndpoint[…]

    values are the elements of the set

    CueSyslogEndpoint

    CueSyslogEndpoint contains the required information for an alert to be sent to a cue syslog endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    settings_overrideCueSyslogSettings

    settings_override is the override for the cue syslog global endpoint settings

    CueSyslogEndpoints

    CueSyslogEndpoints is a set of cue syslog endpoints

    Field NameTypeDescription
    valuesCueSyslogEndpoint[…]

    values are the elements of the set

    CueSyslogSettings

    CueSyslogSettings contain the settings for sending alerts with syslog for cue

    Field NameTypeDescription
    networkgoogle.protobuf.StringValue

    network is the network protocol to use, default is “udp”,

    options also include: tcp,tcp4,tcp6,udp4,udp6

    addressgoogle.protobuf.StringValue

    address is the ip address to send syslog messages to

    portgoogle.protobuf.Int32Value

    port is server’s port to connect to

    message_formatCueSyslogMessageFormat

    message_format defines the message format to use

    append_bom_headergoogle.protobuf.BoolValue

    append_bom_header if true a BOM( Byte Order Mark ) will be appended to the outgoing message

    BOM will tell the server that is receiving the messages, that the format is UTF8.

    dataCueData

    data is additional data that maybe required for constructing the message or sending it

    DefaultTemplate

    DefaultTemplate is the system default template which is used when no user template has been set

    Field NameTypeDescription
    keyTemplateKey

    key identifies which template the configuration is for

    templategoogle.protobuf.StringValue

    template is the string template value to be used

    Templates need to be compatible with their respective parsers

    Message templates are read and parsed by https://golang.org/pkg/text/template/

    Html templates are read and parsed by https://golang.org/pkg/html/template/

    Templates must output valid JSON for certain templates

    Templates must not fail for any valid input

    multi_alertgoogle.protobuf.BoolValue

    multi_alert is true if this template uses a multiple alert context and false if a single

    alert context is used.

    descriptiongoogle.protobuf.StringValue

    description is a description of the template.

    external_documentationgoogle.protobuf.StringValue

    external_documentation is a url to any relevant external documentation, or "" if there is no

    relevant documentation.

    output_formatTemplateOutput

    output_format is the expected output format of this template

    Any submitted template will be expected to output text with valid formatting for any input or

    may fail validation.

    display_namegoogle.protobuf.StringValue

    display_name is the name that can be displayed to the user for this particular template type

    EmailEndpoint

    EmailEndpoint contains the required information for an alert to be sent to an email endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    togoogle.protobuf.StringValue

    to address to send email to

    Email does not have a http override

    Email does not have a settings override

    EmailEndpoints

    EmailEndpoints is a set of email endpoints

    Field NameTypeDescription
    valuesEmailEndpoint[…]

    values are the elements of the set

    EmailSettings

    EmailSettings contain the settings for the sending of emails

    Field NameTypeDescription
    fromgoogle.protobuf.StringValue

    from is the email address to send from

    smarthostgoogle.protobuf.StringValue

    smarthost is the hostname and port of the SMTP server

    auth_usernamegoogle.protobuf.StringValue

    auth_username the username to use when sending emails

    required for all auth methods

    auth_passwordgoogle.protobuf.StringValue

    auth_password the password to use when sending emails

    require_tlsgoogle.protobuf.BoolValue

    require_tls always use TLS connections when sending emails

    single_alert_per_emailgoogle.protobuf.BoolValue

    single_alert_per_email configures the Alerter such that each alert generates a separate email

    notification, the email will only have a single notification, the format will also be different

    azure_o_authAzureOAuth

    azure_o_auth used for auth when using an Azure smtp server

    uses auth_username, scopes is not required as we use https://outlook.office365.com/.default

    EndpointError

    EndpointError is an error caused by a failure to send alert(s) for any reason

    Field NameTypeDescription
    endpoint_typegoogle.protobuf.StringValue

    endpoint_type indicates the type of endpoint which failed,

    or unknown if not endpoint-specific (eg: slack, opsgenie)

    broadcast_group_namegoogle.protobuf.StringValue

    broadcast_group_name is the name of the broadcast group which was being used,

    empty string if not group specific

    config_indexgoogle.protobuf.Int32Value

    config_index is the index of the config on the broadcast group or -1 if not applicable

    eg: if there are two email config in one broadcast group, then the indices for each are 0 and 1

    note that these are done per type, so only counting email/slack/…

    error_typeEndpointErrorType

    error_type is the type of error, this allows custom handling of different error types

    errorgoogle.protobuf.StringValue

    error is a user-friendly error message

    EndpointErrors

    EndpointErrors is a set of errors related to sending of alerts

    Field NameTypeDescription
    valuesEndpointError[…]

    values is the list of errors

    EventList

    EventList is a list of event types

    Field NameTypeDescription
    event_typesfmp.RepeatedString

    event_types contain the event types

    GoogleChatEndpoint

    GoogleChatEndpoint contains the required information for an alert to be sent to a google chat endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overrideGoogleChatSettings

    settings_override is the override for the google chat global endpoint settings

    GoogleChatEndpoints

    GoogleChatEndpoints is a set of googleChat endpoints

    Field NameTypeDescription
    valuesGoogleChatEndpoint[…]

    values are the elements of the set

    GoogleChatSettings

    GoogleChatSettings contain the settings for sending alerts to google chat

    Field NameTypeDescription
    urlgoogle.protobuf.StringValue

    url is the url of the webhook to send alerts to

    HeaderValues

    HeaderValues is a set of values for this header

    Field NameTypeDescription
    valuesstring[…]

    values is the header values

    HttpHeaders

    HttpHeaders is a set of http headers

    Field NameTypeDescription
    valuesHttpHeaders.ValuesEntry[…]

    values is a map of http header names to values

    HttpHeaders.ValuesEntry

    Field NameTypeDescription
    keystring

    valueHeaderValues

    HttpSettings

    HttpSettings are the settings to be used when sending various message over a http connection

    Field NameTypeDescription
    usernamegoogle.protobuf.StringValue

    username is the username to use when connecting to the http proxy

    passwordgoogle.protobuf.StringValue

    password is the password to use when connecting to the http proxy

    proxy_urlgoogle.protobuf.StringValue

    proxy_url is the url for the http proxy

    custom_headersHttpHeaders

    custom_headers is custom http headers to be used along with the default headers

    InhibitionSettings

    InhibitionSettings allows certain event types to be suppressed while other event types are active

    Field NameTypeDescription
    valuesInhibitionSettings.ValuesEntry[…]

    values is a map where the keys are event type which when active will suppress any events with

    event types in the related EventList

    InhibitionSettings.ValuesEntry

    Field NameTypeDescription
    keystring

    valueEventList

    Matches

    Matches is a set of restrictions that must be satisfied for a rule to be matched Empty fields are ignored for matching purposes. Condition contents are OR’d and then AND’d with the other criteria

    Field NameTypeDescription
    severitiesfmp.RepeatedString

    severities is a list of severities to filter on,

    if an event does not have one of these severities, it will not match

    Valid values are DEBUG, INFO, WARNING, ERROR and CRITICAL

    devicesfmp.RepeatedString

    devices is a list of device IDs to filter on,

    if an event does not belong to one of these devices, it will not match

    event_typesfmp.RepeatedString

    event_types is a list of event types to filter on,

    if an event does not have one of these event types, it will not match

    device_tagsgoogle.protobuf.StringValue

    device_tags is a string tag query that is used to match on the event’s device tags

    intf_tagsgoogle.protobuf.StringValue

    intf_tags is a string tag query that is used to match on the event’s interface tags

    rule_idsfmp.RepeatedString

    rule_ids is a list of rule IDs to filter on,

    if an event does not have one of these rule IDs, it will not match

    MsTeamsEndpoint

    MsTeamsEndpoint contains the required information for an alert to be sent to an ms teams endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overrideMsTeamsSettings

    settings_override is the override for the microsoft teams global endpoint settings

    MsTeamsEndpoints

    MsTeamsEndpoints is a set of ms teams endpoints

    Field NameTypeDescription
    valuesMsTeamsEndpoint[…]

    values are the elements of the set

    MsTeamsSettings

    MsTeamsSettings contain the settings for sending alerts to MS Teams

    Field NameTypeDescription
    urlgoogle.protobuf.StringValue

    url is the url of the webhook to send alerts to

    OpsgenieEndpoint

    OpsgenieEndpoint contains the required information for an alert to be sent to an opsgenie endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overrideOpsgenieSettings

    settings_override is the override for the opsgenie global endpoint settings

    OpsgenieEndpoints

    OpsgenieEndpoints is a set of opsgenie endpoints

    Field NameTypeDescription
    valuesOpsgenieEndpoint[…]

    values are the elements of the set

    OpsgenieSettings

    OpsgenieSettings contain the settings for sending alerts to opsgenie

    Field NameTypeDescription
    keygoogle.protobuf.StringValue

    key is the API key to use when talking to the OpsGenie API

    urlgoogle.protobuf.StringValue

    url is the url to use when sending alerts to opsgenie

    PagerdutyEndpoint

    PagerdutyEndpoint contains the required information for an alert to be sent to a pagerduty endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    routing_keygoogle.protobuf.StringValue

    routing_key is the routing key for sending pagerduty alerts

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overridePagerdutySettings

    settings_override is the override for the pagerduty global endpoint settings

    PagerdutyEndpoints

    PagerdutyEndpoints is a set of pagerduty endpoints

    Field NameTypeDescription
    valuesPagerdutyEndpoint[…]

    values are the elements of the set

    PagerdutySettings

    PagerdutySettings contain the settings for sending alerts to pagerduty

    Field NameTypeDescription
    urlgoogle.protobuf.StringValue

    url is the url to use when sending alerts to pagerduty

    Priorities

    Priorities is a mapping of CV event severities to syslog severities

    Field NameTypeDescription
    criticalgoogle.protobuf.Int32Value

    critical priority, default = 2 (Critical)

    errorgoogle.protobuf.Int32Value

    error priority, default = 3 (Error)

    warngoogle.protobuf.Int32Value

    warn priority, default = 4 (Warning)

    infogoogle.protobuf.Int32Value

    info priority, default = 6 (Informational)

    PushoverEndpoint

    PushoverEndpoint contains the required information for an alert to be sent to a pushover endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    tokengoogle.protobuf.StringValue

    token is the user’s registered application’s API token, see https://pushover.net/apps

    user_keygoogle.protobuf.StringValue

    user_key is the user’s user key

    http_overrideHttpSettings

    http_override is the override of the global http settings

    Pushover does not have a settings override

    PushoverEndpoints

    PushoverEndpoints is a set of pushover endpoints

    Field NameTypeDescription
    valuesPushoverEndpoint[…]

    values are the elements of the set

    Rule

    Rule is a rule to send to a certain broadcast group

    Field NameTypeDescription
    sends_togoogle.protobuf.StringValue

    sends_to is the name of the broadcast group top send matching alerts to

    match_criteriaMatches

    match_criteria is the criteria that an alert must match to be sent to the broadcast group

    continue_checksgoogle.protobuf.BoolValue

    continue_checks if true, causes alerts matching this rule’s criteria to continue

    checking against other rules, allowing for additional matches. If false,

    alerts matching this rule will not proceed with checking

    commentgoogle.protobuf.StringValue

    comment is a comment to include that will be displayed in the alert

    suppress_forgoogle.protobuf.Duration

    suppress_for is a time duration that a rule will be debounced for after being called

    Rules

    Rules is a list of rules which dictates which events generate alerts for which broadcast groups

    Field NameTypeDescription
    valuesRule[…]

    values contains the rules

    SNMPAuth

    SNMPAuth contain authentication information for SNMP

    Field NameTypeDescription
    communitygoogle.protobuf.StringValue

    community is the community string used for authentication in SNMPv1 and v2c

    required if version < 3

    usernamegoogle.protobuf.StringValue

    username the username for SNMPv3 auth

    security_levelSNMPSecurityLevel

    security_level the security level for SNMPv3

    authentication_protocolSNMPAuthProtocol

    authentication_protocol is the protocol to use for authentication in SNMPv3

    required for AUTH_NO_PRIV/AUTH_PRIV security levels

    authentication_passphrasegoogle.protobuf.StringValue

    authentication_passphrase is the passphrase to use for authentication in SNMPv3

    required for AUTH_NO_PRIV/AUTH_PRIV security levels

    privacy_protocolSNMPPrivProtocol

    privacy_protocol is the protocol to use for privacy in SNMPv3

    required for AUTH_PRIV security level

    privacy_passphrasegoogle.protobuf.StringValue

    privacy_passphrase is the passphrase to use for privacy in SNMPv3

    required for AUTH_PRIV security level

    SNMPEndpoint

    SNMPEndpoint contains the required information for an alert to be sent to an SNMP endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    settings_overrideSNMPSettings

    settings_override is the override for the microsoft teams global endpoint settings

    SNMPEndpoints

    SNMPEndpoints is a set of SNMP endpoints

    Field NameTypeDescription
    valuesSNMPEndpoint[…]

    values are the elements of the set

    SNMPSettings

    SNMPSettings contain the settings for sending alerts with SNMP

    Field NameTypeDescription
    targetgoogle.protobuf.StringValue

    target is an ipv4 address to send messages to

    portgoogle.protobuf.Int32Value

    port is the network port to target

    transportgoogle.protobuf.StringValue

    transport is the transport protocol to use (“udp” or “tcp”); if unset “udp” will be used

    versiongoogle.protobuf.Int32Value

    version is the SNMP version, v1, v2c and v3 are supported and can be set

    with 1, 2 and 3 respectively

    authSNMPAuth

    auth is optional authentication settings

    engine_idgoogle.protobuf.StringValue

    engine_id is the engine ID that will be used by the Alerter

    This should be a hexadecimal string, colon separators between bytes will be accepted when

    writing, but will be absent when reading

    optional: if excluded or left blank, this will be automatically generated

    SendgridEndpoint

    SendgridEndpoint contains the required information for an alert to be sent to a sendgrid endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    togoogle.protobuf.StringValue

    to address to send email to

    http_overrideHttpSettings

    http_override is the override of the global http settings

    SendgridEndpoints

    SendgridEndpoints is a set of sendgrid endpoints

    Field NameTypeDescription
    valuesSendgridEndpoint[…]

    values are the elements of the set

    SendgridSettings

    SendgridSettings contain the settings for sending emails via sendgrid

    Field NameTypeDescription
    api_keygoogle.protobuf.StringValue

    api_key is the api key to use

    fromgoogle.protobuf.StringValue

    from is the email address to send from

    Settings

    Settings portion of config, a list of default global settings used by broadcast groups

    Field NameTypeDescription
    emailEmailSettings

    email is the global default settings for email

    httpHttpSettings

    http is the global default settings for http

    slackSlackSettings

    slack is the global default settings for slack

    victoropsVictoropsSettings

    victorops is the global default settings for victorops

    pagerdutyPagerdutySettings

    pagerduty is the global default settings for pagerduty

    opsgenieOpsgenieSettings

    opsgenie is the global default settings for opsgenie

    gchatGoogleChatSettings

    gchat is the global default settings for google chat

    msteamsMsTeamsSettings

    msteams is the global default settings for ms teams

    inhibitionInhibitionSettings

    inhibition defines the inhibition rules for alerts, allowing events of certain types to be

    suppressed while another event type is active

    base_urlgoogle.protobuf.StringValue

    base_url is the root address of your CloudVision app. Used to generate links in notifications.

    timezonegoogle.protobuf.StringValue

    timezone is used for formatting event times in notifications. E.g. ‘UTC’, ‘US/Pacific’

    syslogSyslogSettings

    syslog is the global default settings for syslog

    snmpSNMPSettings

    snmp is the global default settings for snmp

    sendgridSendgridSettings

    sendgrid is the global default settings for sendgrid

    cue_syslogCueSyslogSettings

    cue_syslog is the global default settings for cue syslog

    cue_snmpCueSNMPSettings

    cue_snmp is the global default settings for cue snmp

    cue_sendgridCueSendgridSettings

    cue_sendgrid is the global default settings for cue sendgrid

    hide_tagsgoogle.protobuf.BoolValue

    hide_tags is used to by the alerting system to omit tags and other “superfluous”

    values from the notifications that are sent out by the system

    zoomZoomSettings

    zoom is the global default settings for zoom

    webhookWebhookSettings

    webhook is the auth settings for webhook

    SlackEndpoint

    SlackEndpoint contains the required information for an alert to be sent to a slack endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overrideSlackSettings

    settings_override is the override for the slack global endpoint settings

    SlackEndpoints

    SlackEndpoints is a set of slack endpoints

    Field NameTypeDescription
    valuesSlackEndpoint[…]

    values are the elements of the set

    SlackSettings

    SlackSettings contain the settings for sending alerts to slack

    Field NameTypeDescription
    urlgoogle.protobuf.StringValue

    url is the url of the slack webhook to use

    SyslogEndpoint

    SyslogEndpoint contains the required information for an alert to be sent to a syslog endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    settings_overrideSyslogSettings

    settings_override is the override for the microsoft teams global endpoint settings

    SyslogEndpoints

    SyslogEndpoints is a set of syslog endpoints

    Field NameTypeDescription
    valuesSyslogEndpoint[…]

    values are the elements of the set

    SyslogSettings

    SyslogSettings contain the settings for sending alerts with syslog

    Field NameTypeDescription
    networkgoogle.protobuf.StringValue

    network is the network protocol to use, default is “udp”,

    options also include: tcp,tcp4,tcp6,udp4,udp6

    addressgoogle.protobuf.StringValue

    address is the network address to send syslog messages to

    facilitygoogle.protobuf.Int32Value

    facility is the syslog facility 0-23 inc. This is the syslog facility as defined in RFC-3164

    prioritiesPriorities

    priorities describes how CVP severity maps to syslog priority

    priority is a number between 0-7 inc. as defined in RFC-3164

    taggoogle.protobuf.StringValue

    tag is the syslog TAG as described in RFC-3164, it is the prefix to all syslog messages

    per_devicegoogle.protobuf.BoolValue

    per_device allows message to optionally be sent per device,

    if an event concerns two devices the behaviour is changed based on this option:

    true: two messages are sent, one for each device

    false: a single message is sent

    use_tlsgoogle.protobuf.BoolValue

    use_tls determines if the connection to the server should be secured with TLS

    TemplateConfig

    TemplateConfig represents a template configuration

    Field NameTypeDescription
    keyTemplateKey

    key identifies which template the configuration is for

    templategoogle.protobuf.StringValue

    template is the string template value to be used

    Templates need to be compatible with their respective parsers

    Message templates are read and parsed by https://golang.org/pkg/text/template/

    Html templates are read and parsed by https://golang.org/pkg/html/template/

    Templates must output valid JSON for certain templates

    Templates must not fail for any valid input

    TemplateKey

    TemplateKey is used to identify templates for event notifications

    Field NameTypeDescription
    template_typeTemplateType

    template_type is the enum value to match with the template

    VictorOpsEndpoint

    VictorOpsEndpoint contains the required information for an alert to be sent to a victorOps endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    routing_keygoogle.protobuf.StringValue

    routing_key is the PagerDuty integration key

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overrideVictoropsSettings

    settings_override is the override for the victorops global endpoint settings

    VictorOpsEndpoints

    VictorOpsEndpoints is a set of victorOps endpoints

    Field NameTypeDescription
    valuesVictorOpsEndpoint[…]

    values are the elements of the set

    VictoropsSettings

    VictoropsSettings contain the settings for sending alerts to victorops

    Field NameTypeDescription
    keygoogle.protobuf.StringValue

    key is the API key to use when talking to the VictorOps API

    urlgoogle.protobuf.StringValue

    url is the victorops url to use (without integration or routing key

    default: https://alert.victorops.com/integrations/generic/20131114/alert/

    WebhookEndpoint

    WebhookEndpoint contains the required information for an alert to be sent to a webhook endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    urlgoogle.protobuf.StringValue

    url is the url

    http_overrideHttpSettings

    http_override is the override of the global http settings

    simple_outputgoogle.protobuf.BoolValue

    simple_output is a boolean flag to control the JSON structure of the webhook body.

    When false the output mimics the old alertmanager format.

    When true the output is a simple array of json objects which each represent an event.

    single_alertgoogle.protobuf.BoolValue

    single_alert is a boolean flag that will cause an individual webhook message to be sent per

    alert when true.

    settings_overrideWebhookSettings

    settings_override is the override for the webhook global endpoint settings

    WebhookEndpoints

    WebhookEndpoints is a set of webhook endpoints

    Field NameTypeDescription
    valuesWebhookEndpoint[…]

    values are the elements of the set

    WebhookSettings

    WebhookSettings contain the settings for sending alerts to a Webhook

    Field NameTypeDescription
    azure_o_authAzureOAuth

    azure_o_auth used for auth when using an Azure smtp server

    uses auth_username

    ZoomEndpoint

    ZoomEndpoint contains the required information for an alert to be sent to a zoom endpoint

    Field NameTypeDescription
    send_resolvedgoogle.protobuf.BoolValue

    send_resolved send alerts when events are resolved along with when they are triggered

    http_overrideHttpSettings

    http_override is the override of the global http settings

    settings_overrideZoomSettings

    settings_override is the override for the zoom global endpoint settings

    ZoomEndpoints

    ZoomEndpoints is a set of zoom endpoints

    Field NameTypeDescription
    valuesZoomEndpoint[…]

    values are the elements of the set

    ZoomSettings

    ZoomSettings contain the settings for sending alerts to zoom

    Field NameTypeDescription
    urlgoogle.protobuf.StringValue

    url is the zoom incoming webhook URL to send messages to

    verification_tokengoogle.protobuf.StringValue

    verification_token is the verification token to authenticate with

    ConfigErrorType

    ConfigErrorType describes the set of possible config error types

    NameNumberDescription
    CONFIG_ERROR_TYPE_UNSPECIFIED0

    CONFIG_ERROR_TYPE_UNSPECIFIED is the unspecified enum value

    CONFIG_ERROR_TYPE_INVALID_FORMAT2

    CONFIG_ERROR_TYPE_INVALID_FORMAT is caused by invalid format for value (eg: url)

    CONFIG_ERROR_TYPE_INVALID_SYNTAX3

    CONFIG_ERROR_TYPE_INVALID_SYNTAX is caused by invalid syntax for value (eg: regex)

    CONFIG_ERROR_TYPE_TEMPLATE_INVALID4

    CONFIG_ERROR_TYPE_TEMPLATE_INVALID is caused by failure to parse a template

    CONFIG_ERROR_TYPE_ILLEGAL_VALUE5

    CONFIG_ERROR_TYPE_ILLEGAL_VALUE is caused by a value outside of its bounds

    CONFIG_ERROR_TYPE_MISSING_REQUIRED6

    CONFIG_ERROR_TYPE_MISSING_REQUIRED is caused by a missing required attribute

    CONFIG_ERROR_TYPE_INVALID_TYPE7

    CONFIG_ERROR_TYPE_INVALID_TYPE is caused by the wrong type found in backing store

    CueSNMPAuthProtocol

    CueSNMPAuthProtocol represents the authentication protocol to be used

    NameNumberDescription
    CUE_SNMP_AUTH_PROTOCOL_UNSPECIFIED0

    CUE_SNMP_AUTH_PROTOCOL_UNSPECIFIED is the unspecified enum value

    CUE_SNMP_AUTH_PROTOCOL_MD51

    CUE_SNMP_AUTH_PROTOCOL_MD5 use the md5 protocol

    CUE_SNMP_AUTH_PROTOCOL_SHA2

    CUE_SNMP_AUTH_PROTOCOL_SHA use the sha protocol

    CueSNMPPrivProtocol

    CueSNMPPrivProtocol represents the privacy protocol to be used

    NameNumberDescription
    CUE_SNMP_PRIV_PROTOCOL_UNSPECIFIED0

    CUE_SNMP_PRIV_PROTOCOL_UNSPECIFIED is the unspecified enum value

    CUE_SNMP_PRIV_PROTOCOL_DES1

    CUE_SNMP_PRIV_PROTOCOL_DES use the des protocol

    CUE_SNMP_PRIV_PROTOCOL_AES2

    CUE_SNMP_PRIV_PROTOCOL_AES use the aes protocol

    CueSyslogMessageFormat

    CueSyslogMessageFormat is the message format for cue syslog messages

    NameNumberDescription
    CUE_SYSLOG_MESSAGE_FORMAT_UNSPECIFIED0

    CUE_SYSLOG_MESSAGE_FORMAT_UNSPECIFIED is the unspecified enum value

    CUE_SYSLOG_MESSAGE_FORMAT_PLAIN1

    CUE_SYSLOG_MESSAGE_FORMAT_PLAIN format uses the text format for constructing the syslog message

    CUE_SYSLOG_MESSAGE_FORMAT_IDMEF2

    CUE_SYSLOG_MESSAGE_FORMAT_IDMEF uses IDMEF message format as described here:

    https://datatracker.ietf.org/doc/html/rfc4765

    EndpointErrorType

    EndpointErrorType describe the set of possible endpoint types

    NameNumberDescription
    ENDPOINT_ERROR_TYPE_UNSPECIFIED0

    ENDPOINT_ERROR_TYPE_UNSPECIFIED is the unspecified enum value

    ENDPOINT_ERROR_TYPE_HTTP_POST_ERROR1

    ENDPOINT_ERROR_TYPE_HTTP_POST_ERROR an error in sending HTTP request or reading a HTTP

    response

    ENDPOINT_ERROR_TYPE_JSON_MARSHAL_ERROR2

    ENDPOINT_ERROR_TYPE_JSON_MARSHAL_ERROR is caused by errors while encoding json

    ENDPOINT_ERROR_TYPE_INVALID_CONFIG_ERROR3

    ENDPOINT_ERROR_TYPE_INVALID_CONFIG_ERROR is an error caused by invalid config (missing,

    bad format, etc)

    ENDPOINT_ERROR_TYPE_TEMPLATE_ERROR4

    ENDPOINT_ERROR_TYPE_TEMPLATE_ERROR is caused by errors while executing templates

    ENDPOINT_ERROR_TYPE_BAD_RESPONSE_ERROR5

    ENDPOINT_ERROR_TYPE_BAD_RESPONSE_ERROR is caused by receiving a negative response from an

    endpoint indicating that the alert was not sent

    ENDPOINT_ERROR_TYPE_SMTP_ERROR6

    ENDPOINT_ERROR_TYPE_SMTP_ERROR is caused by errors with SMTP

    ENDPOINT_ERROR_TYPE_CONNECTION_ERROR7

    ENDPOINT_ERROR_TYPE_CONNECTION_ERROR is caused by errors with a connection

    ENDPOINT_ERROR_TYPE_TIMEOUT_ERROR8

    ENDPOINT_ERROR_TYPE_TIMEOUT_ERROR is caused by errors with a connection

    ENDPOINT_ERROR_TYPE_RATE_LIMIT_ERROR9

    ENDPOINT_ERROR_TYPE_RATE_LIMIT_ERROR is caused by an Alerter rate limit being exceeded

    ENDPOINT_ERROR_TYPE_ALERT_CAP_ERROR10

    ENDPOINT_ERROR_TYPE_ALERT_CAP_ERROR is caused by the number of alerts sent to a sender

    exceeding the built-in limit

    ENDPOINT_ERROR_TYPE_O_AUTH_ERROR11

    ENDPOINT_ERROR_TYPE_O_AUTH_ERROR is caused when we failed authenticating using the

    OAuth apis

    SNMPAuthProtocol

    SNMPAuthProtocol represents the authentication protocol to be used

    NameNumberDescription
    SNMP_AUTH_PROTOCOL_UNSPECIFIED0

    SNMP_AUTH_PROTOCOL_UNSPECIFIED is the unspecified enum value

    SNMP_AUTH_PROTOCOL_MD51

    SNMP_AUTH_PROTOCOL_MD5 use the md5 protocol

    SNMP_AUTH_PROTOCOL_SHA2

    SNMP_AUTH_PROTOCOL_SHA use the sha protocol

    SNMP_AUTH_PROTOCOL_SHA_2243

    SNMP_AUTH_PROTOCOL_SHA_224 use the sha224 protocol

    SNMP_AUTH_PROTOCOL_SHA_2564

    SNMP_AUTH_PROTOCOL_SHA_256 use the sha256 protocol

    SNMP_AUTH_PROTOCOL_SHA_3845

    SNMP_AUTH_PROTOCOL_SHA_384 use the sha384 protocol

    SNMP_AUTH_PROTOCOL_SHA_5126

    SNMP_AUTH_PROTOCOL_SHA_512 use the sha512 protocol

    SNMPPrivProtocol

    SNMPPrivProtocol represents the privacy protocol to be used

    NameNumberDescription
    SNMP_PRIV_PROTOCOL_UNSPECIFIED0

    SNMP_PRIV_PROTOCOL_UNSPECIFIED is the unspecified enum value

    SNMP_PRIV_PROTOCOL_DES1

    SNMP_PRIV_PROTOCOL_DES use the des protocol

    SNMP_PRIV_PROTOCOL_AES2

    SNMP_PRIV_PROTOCOL_AES use the aes protocol

    SNMP_PRIV_PROTOCOL_AES_1923

    SNMP_PRIV_PROTOCOL_AES_192 use the aes192 protocol

    SNMP_PRIV_PROTOCOL_AES_2564

    SNMP_PRIV_PROTOCOL_AES_256 use the aes256 protocol

    SNMP_PRIV_PROTOCOL_AES_192C5

    SNMP_PRIV_PROTOCOL_AES_192C use the aes192c protocol

    SNMP_PRIV_PROTOCOL_AES_256C6

    SNMP_PRIV_PROTOCOL_AES_256C use the aes256c protocol

    SNMPSecurityLevel

    SNMPSecurityLevel indicates what level of security should be used

    NameNumberDescription
    SNMP_SECURITY_LEVEL_UNSPECIFIED0

    SNMP_SECURITY_LEVEL_UNSPECIFIED is the unspecified enum value

    SNMP_SECURITY_LEVEL_NO_AUTH_NO_PRIV1

    SNMP_SECURITY_LEVEL_NO_AUTH_NO_PRIV use no security

    SNMP_SECURITY_LEVEL_AUTH_NO_PRIV2

    SNMP_SECURITY_LEVEL_AUTH_NO_PRIV use authentication without privacy

    SNMP_SECURITY_LEVEL_AUTH_PRIV3

    SNMP_SECURITY_LEVEL_AUTH_PRIV use both authentication and privacy

    TemplateOutput

    TemplateOutput is an enum of all of the possible output formats for templates

    NameNumberDescription
    TEMPLATE_OUTPUT_UNSPECIFIED0

    TEMPLATE_OUTPUT_UNSPECIFIED is the unspecfied value.

    TEMPLATE_OUTPUT_TEXT1

    TEMPLATE_OUTPUT_TEXT indicates the the template outputs plain text.

    TEMPLATE_OUTPUT_JSON2

    TEMPLATE_OUTPUT_JSON indicates the the template outputs JSON.

    TEMPLATE_OUTPUT_HTML3

    TEMPLATE_OUTPUT_HTML indicates the the template outputs HTML.

    This also indicates that “html/templates” will be used instead of “text/templates” so that

    html characters are automatically escaped from input.

    TemplateType

    TemplateType describes the types of Templates that are usable

    NameNumberDescription
    TEMPLATE_TYPE_UNSPECIFIED0

    TEMPLATE_TYPE_UNSPECIFIED is the unspecified enum value

    TEMPLATE_TYPE_EMAIL_HTML1

    TEMPLATE_TYPE_EMAIL_HTML is the key of the html template for sent emails

    TEMPLATE_TYPE_EMAIL_TEXT2

    TEMPLATE_TYPE_EMAIL_TEXT is the key of the text template for sent emails

    TEMPLATE_TYPE_SLACK_MESSAGE3

    TEMPLATE_TYPE_SLACK_MESSAGE is the key of the message template for sent slack messages

    TEMPLATE_TYPE_PUSHOVER_MESSAGE4

    TEMPLATE_TYPE_PUSHOVER_MESSAGE is the key of the message template for sent pushover messages

    TEMPLATE_TYPE_PAGERDUTY_SUMMARY5

    TEMPLATE_TYPE_PAGERDUTY_SUMMARY is the key of the summary template for sent pagerduty messages

    TEMPLATE_TYPE_VICTOROPS_DISPLAY_NAME6

    TEMPLATE_TYPE_VICTOROPS_DISPLAY_NAME is the key of the display name template for sent victorops

    messages

    TEMPLATE_TYPE_VICTOROPS_STATE_MESSAGE7

    TEMPLATE_TYPE_VICTOROPS_STATE_MESSAGE is the key of the state message template for sent

    victorops messages

    TEMPLATE_TYPE_GOOGLE_CHAT_MESSAGE8

    TEMPLATE_TYPE_GOOGLE_CHAT_MESSAGE is the key of the message template for sent Google chat

    messages

    TEMPLATE_TYPE_MICROSOFT_TEAMS_MESSAGE9

    TEMPLATE_TYPE_MICROSOFT_TEAMS_MESSAGE is the key of the message template for sent Microsoft

    teams messages

    TEMPLATE_TYPE_EMAIL_SUBJECT10

    TEMPLATE_TYPE_EMAIL_SUBJECT is the key of the subject line template of a sent email

    TEMPLATE_TYPE_SYSLOG_MESSAGE11

    TEMPLATE_TYPE_SYSLOG_MESSAGE is the key of the message template for a syslog message part

    TEMPLATE_TYPE_OPSGENIE_MESSAGE12

    TEMPLATE_TYPE_OPSGENIE_MESSAGE is the key of the message template for a opsgenie alert

    TEMPLATE_TYPE_ZOOM_MESSAGE13

    TEMPLATE_TYPE_ZOOM_MESSAGE is the key of the message template for sent Zoom messages

    TEMPLATE_TYPE_EMAIL_SINGLE_HTML14

    TEMPLATE_TYPE_EMAIL_SINGLE_HTML is the key of the html template for sent emails when the

    single alert per email option is selected

    TEMPLATE_TYPE_EMAIL_SINGLE_TEXT15

    TEMPLATE_TYPE_EMAIL_SINGLE_TEXT is the key of the text template for sent emails when the

    single alert per email option is selected

    TEMPLATE_TYPE_EMAIL_SINGLE_SUBJECT16

    TEMPLATE_TYPE_EMAIL_SINGLE_SUBJECT is the key of the subject line template of a sent email

    when the single alert per email option is selected

    TEMPLATE_TYPE_WEBHOOK_SINGLE17

    TEMPLATE_TYPE_WEBHOOK_SINGLE is the key of the template for webhook message body when the

    single_alert option is true

    TEMPLATE_TYPE_WEBHOOK_MULTIPLE18

    TEMPLATE_TYPE_WEBHOOK_MULTIPLE is the key of the template for webhook message body when the

    single_alert option is false

    Top

    arista/alert.v1/services.gen.proto

    AlertConfigRequest

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AlertConfigResponse

    Field NameTypeDescription
    valueAlertConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    AlertConfig instance in this response.

    AlertConfigSetRequest

    Field NameTypeDescription
    valueAlertConfig

    AlertConfig carries the value to set into the datastore.

    See the documentation on the AlertConfig struct for which fields are required.

    AlertConfigSetResponse

    Field NameTypeDescription
    valueAlertConfig

    Value carries all the values given in the AlertConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    AlertConfigStreamRequest

    Field NameTypeDescription
    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AlertConfig at end.

    * Each AlertConfig response is fully-specified (all fields set).

    * start: Returns the state of each AlertConfig at start, followed by updates until now.

    * Each AlertConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AlertConfig at start, followed by updates

    until end.

    * Each AlertConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AlertConfigStreamResponse

    Field NameTypeDescription
    valueAlertConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this AlertConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the AlertConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AlertRequest

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AlertResponse

    Field NameTypeDescription
    valueAlert

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Alert instance in this response.

    AlertStreamRequest

    Field NameTypeDescription
    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Alert at end.

    * Each Alert response is fully-specified (all fields set).

    * start: Returns the state of each Alert at start, followed by updates until now.

    * Each Alert response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Alert at start, followed by updates

    until end.

    * Each Alert response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AlertStreamResponse

    Field NameTypeDescription
    valueAlert

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Alert’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Alert value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DefaultTemplateBatchedStreamRequest

    Field NameTypeDescription
    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DefaultTemplate at end.

    * Each DefaultTemplate response is fully-specified (all fields set).

    * start: Returns the state of each DefaultTemplate at start, followed by updates until now.

    * Each DefaultTemplate response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DefaultTemplate at start, followed by updates

    until end.

    * Each DefaultTemplate response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DefaultTemplateBatchedStreamResponse

    Field NameTypeDescription
    responsesDefaultTemplateStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DefaultTemplateRequest

    Field NameTypeDescription
    keyTemplateKey

    Key uniquely identifies a DefaultTemplate instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DefaultTemplateResponse

    Field NameTypeDescription
    valueDefaultTemplate

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DefaultTemplate instance in this response.

    DefaultTemplateSomeRequest

    Field NameTypeDescription
    keysTemplateKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DefaultTemplateSomeResponse

    Field NameTypeDescription
    valueDefaultTemplate

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DefaultTemplateStreamRequest

    Field NameTypeDescription
    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DefaultTemplate at end.

    * Each DefaultTemplate response is fully-specified (all fields set).

    * start: Returns the state of each DefaultTemplate at start, followed by updates until now.

    * Each DefaultTemplate response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DefaultTemplate at start, followed by updates

    until end.

    * Each DefaultTemplate response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DefaultTemplateStreamResponse

    Field NameTypeDescription
    valueDefaultTemplate

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DefaultTemplate’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DefaultTemplate value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    TemplateConfigBatchedStreamRequest

    Field NameTypeDescription
    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TemplateConfig at end.

    * Each TemplateConfig response is fully-specified (all fields set).

    * start: Returns the state of each TemplateConfig at start, followed by updates until now.

    * Each TemplateConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TemplateConfig at start, followed by updates

    until end.

    * Each TemplateConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    TemplateConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesTemplateConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    TemplateConfigDeleteAllRequest

    TemplateConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyTemplateKey

    This is the key of the TemplateConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    TemplateConfigDeleteRequest

    Field NameTypeDescription
    keyTemplateKey

    Key indicates which TemplateConfig instance to remove.

    This field must always be set.

    TemplateConfigDeleteResponse

    Field NameTypeDescription
    keyTemplateKey

    Key echoes back the key of the deleted TemplateConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    TemplateConfigDeleteSomeRequest

    Field NameTypeDescription
    keysTemplateKey[…]

    key contains a list of TemplateConfig keys to delete

    TemplateConfigDeleteSomeResponse

    TemplateConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyTemplateKey

    errorstring

    TemplateConfigRequest

    Field NameTypeDescription
    keyTemplateKey

    Key uniquely identifies a TemplateConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TemplateConfigResponse

    Field NameTypeDescription
    valueTemplateConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    TemplateConfig instance in this response.

    TemplateConfigSetRequest

    Field NameTypeDescription
    valueTemplateConfig

    TemplateConfig carries the value to set into the datastore.

    See the documentation on the TemplateConfig struct for which fields are required.

    TemplateConfigSetResponse

    Field NameTypeDescription
    valueTemplateConfig

    Value carries all the values given in the TemplateConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    TemplateConfigSetSomeRequest

    Field NameTypeDescription
    valuesTemplateConfig[…]

    value contains a list of TemplateConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    TemplateConfigSetSomeResponse

    Field NameTypeDescription
    keyTemplateKey

    errorstring

    TemplateConfigSomeRequest

    Field NameTypeDescription
    keysTemplateKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TemplateConfigSomeResponse

    Field NameTypeDescription
    valueTemplateConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TemplateConfigStreamRequest

    Field NameTypeDescription
    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TemplateConfig at end.

    * Each TemplateConfig response is fully-specified (all fields set).

    * start: Returns the state of each TemplateConfig at start, followed by updates until now.

    * Each TemplateConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TemplateConfig at start, followed by updates

    until end.

    * Each TemplateConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TemplateConfigStreamResponse

    Field NameTypeDescription
    valueTemplateConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this TemplateConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the TemplateConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AlertConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneAlertConfigRequestAlertConfigResponse

    GetAllAlertConfigStreamRequestAlertConfigStreamResponse stream

    SubscribeAlertConfigStreamRequestAlertConfigStreamResponse stream

    SubscribeMetaAlertConfigStreamRequestMetaResponse stream

    SetAlertConfigSetRequestAlertConfigSetResponse

    AlertService

    Method NameRequest TypeResponse TypeDescription
    GetOneAlertRequestAlertResponse

    GetAllAlertStreamRequestAlertStreamResponse stream

    SubscribeAlertStreamRequestAlertStreamResponse stream

    SubscribeMetaAlertStreamRequestMetaResponse stream

    DefaultTemplateService

    Method NameRequest TypeResponse TypeDescription
    GetOneDefaultTemplateRequestDefaultTemplateResponse

    GetSomeDefaultTemplateSomeRequestDefaultTemplateSomeResponse stream

    GetAllDefaultTemplateStreamRequestDefaultTemplateStreamResponse stream

    SubscribeDefaultTemplateStreamRequestDefaultTemplateStreamResponse stream

    GetMetaDefaultTemplateStreamRequestMetaResponse

    SubscribeMetaDefaultTemplateStreamRequestMetaResponse stream

    GetAllBatchedDefaultTemplateBatchedStreamRequestDefaultTemplateBatchedStreamResponse stream

    SubscribeBatchedDefaultTemplateBatchedStreamRequestDefaultTemplateBatchedStreamResponse stream

    TemplateConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneTemplateConfigRequestTemplateConfigResponse

    GetSomeTemplateConfigSomeRequestTemplateConfigSomeResponse stream

    GetAllTemplateConfigStreamRequestTemplateConfigStreamResponse stream

    SubscribeTemplateConfigStreamRequestTemplateConfigStreamResponse stream

    GetMetaTemplateConfigStreamRequestMetaResponse

    SubscribeMetaTemplateConfigStreamRequestMetaResponse stream

    SetTemplateConfigSetRequestTemplateConfigSetResponse

    SetSomeTemplateConfigSetSomeRequestTemplateConfigSetSomeResponse stream

    DeleteTemplateConfigDeleteRequestTemplateConfigDeleteResponse

    DeleteSomeTemplateConfigDeleteSomeRequestTemplateConfigDeleteSomeResponse stream

    DeleteAllTemplateConfigDeleteAllRequestTemplateConfigDeleteAllResponse stream

    GetAllBatchedTemplateConfigBatchedStreamRequestTemplateConfigBatchedStreamResponse stream

    SubscribeBatchedTemplateConfigBatchedStreamRequestTemplateConfigBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/bugexposure.v1/index.html b/models/bugexposure.v1/index.html index debe8aa6..b7dfeb1b 100644 --- a/models/bugexposure.v1/index.html +++ b/models/bugexposure.v1/index.html @@ -1,7 +1,7 @@ -bugexposure.v1 :: Arista Networks FMP APIs -

    bugexposure.v1

    Top

    arista/bugexposure.v1/bugexposure.proto

    BugExposure

    BugExposure is the state model that represents @@ -12,4 +12,4 @@ computed bugs

    NameNumberDescription
    ACKNOWLEDGEMENT_UNSPECIFIED0

    Unacknowledged and acknowledged bugs will be computed

    ACKNOWLEDGEMENT_UNACKNOWLEDGED1

    Only unacknowledged bugs will be computed

    ACKNOWLEDGEMENT_ACKNOWLEDGED2

    Only acknowledged bugs will be computed

    HighestExposure

    HighestExposure is an enumeration that defines the options for highest exposure

    NameNumberDescription
    HIGHEST_EXPOSURE_UNSPECIFIED0

    If not given this will be the default value

    and it will compute devices with

    any highest exposure

    HIGHEST_EXPOSURE_NONE1

    Not exposed to bugs

    HIGHEST_EXPOSURE_LOW2

    Highest exposure is to a low priority bug

    HIGHEST_EXPOSURE_HIGH3

    Highest exposure is to a high priority bug

    Top

    arista/bugexposure.v1/services.gen.proto

    BugExposureRequest

    Field NameTypeDescription
    keyBugExposureKey

    Key uniquely identifies a BugExposure instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    BugExposureResponse

    Field NameTypeDescription
    valueBugExposure

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    BugExposure instance in this response.

    BugExposureStreamRequest

    Field NameTypeDescription
    partial_eq_filterBugExposure[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each BugExposure at end.

    * Each BugExposure response is fully-specified (all fields set).

    * start: Returns the state of each BugExposure at start, followed by updates until now.

    * Each BugExposure response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each BugExposure at start, followed by updates

    until end.

    * Each BugExposure response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    BugExposureStreamResponse

    Field NameTypeDescription
    valueBugExposure

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this BugExposure’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the BugExposure value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    BugExposureService

    Method NameRequest TypeResponse TypeDescription
    GetOneBugExposureRequestBugExposureResponse

    GetAllBugExposureStreamRequestBugExposureStreamResponse stream

    SubscribeBugExposureStreamRequestBugExposureStreamResponse stream

    GetMetaBugExposureStreamRequestMetaResponse

    SubscribeMetaBugExposureStreamRequestMetaResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/changecontrol.v1/index.html b/models/changecontrol.v1/index.html index fc793db9..da332595 100644 --- a/models/changecontrol.v1/index.html +++ b/models/changecontrol.v1/index.html @@ -1,7 +1,7 @@ -changecontrol.v1 :: Arista Networks FMP APIs -

    changecontrol.v1

    Top

    arista/changecontrol.v1/changecontrol.proto

    Action

    Action is an action to perform during the execution of @@ -38,4 +38,4 @@ plus some information about when and by whom is was set.

    Field NameTypeDescription
    valuegoogle.protobuf.Timestamp

    value is the value of the flag (some timestamp).

    notesgoogle.protobuf.StringValue

    notes are any notes associated with the setting of the flag.

    timegoogle.protobuf.Timestamp

    time is the time at which the flag was last updated.

    usergoogle.protobuf.StringValue

    user is the user by which the flag was last updated.

    TimestampFlagConfig

    TimestampFlagConfig is used to set a flag on a change control that takes a timestamp value (e.g. schedule/unschedule).

    Field NameTypeDescription
    valuegoogle.protobuf.Timestamp

    value is the value of the flag (some timestamp).

    notesgoogle.protobuf.StringValue

    notes are the notes associated with the flag value.

    ChangeControlStatus

    ChangeControlStatus defines the possible execution statuses of a change control.

    NameNumberDescription
    CHANGE_CONTROL_STATUS_UNSPECIFIED0

    CHANGE_CONTROL_STATUS_RUNNING1

    CHANGE_CONTROL_STATUS_RUNNING means the change control has begun

    execution.

    CHANGE_CONTROL_STATUS_COMPLETED2

    CHANGE_CONTROL_STATUS_COMPLETED means the change control has ceased

    execution. Success/failure of a change control cannot be inferred

    from this status alone but rather this status plus the change control

    error. That is, no error implies success and some error implies failure.

    CHANGE_CONTROL_STATUS_SCHEDULED3

    CHANGE_CONTROL_STATUS_SCHEDULED means the change control has been

    scheduled for execution at some time. Any failure that occurs during

    this process will cause a transition back to the unspecified status,

    a reset of the schedule flag by the system, and an error on the change

    control reporting the details of the failure.

    CHANGE_CONTROL_STATUS_NOT_STARTED4

    CHANGE_CONTROL_STATUS_NOT_STARTED means the change control has not been

    started. This would include approved and not approved change controls.

    StageStatus

    StageStatus defines the possible execution statuses of a stage.

    NameNumberDescription
    STAGE_STATUS_UNSPECIFIED0

    STAGE_STATUS_RUNNING1

    STAGE_STATUS_RUNNING means the stage has begun execution.

    STAGE_STATUS_COMPLETED2

    STAGE_STATUS_COMPLETED means the stage has ceased execution.

    Success/failure of a stage cannot be inferred from this status

    alone but rather this status plus the stage error. That is, no

    error implies success and some error implies failure.

    STAGE_STATUS_NOT_STARTED3

    STAGE_STATUS_NOT_STARTED means the stage has not been started.

    Top

    arista/changecontrol.v1/services.gen.proto

    ApproveConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterApproveConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ApproveConfig at end.

    * Each ApproveConfig response is fully-specified (all fields set).

    * start: Returns the state of each ApproveConfig at start, followed by updates until now.

    * Each ApproveConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ApproveConfig at start, followed by updates

    until end.

    * Each ApproveConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ApproveConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesApproveConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ApproveConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterApproveConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    ApproveConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyChangeControlKey

    This is the key of the ApproveConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    ApproveConfigDeleteRequest

    Field NameTypeDescription
    keyChangeControlKey

    Key indicates which ApproveConfig instance to remove.

    This field must always be set.

    ApproveConfigDeleteResponse

    Field NameTypeDescription
    keyChangeControlKey

    Key echoes back the key of the deleted ApproveConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    ApproveConfigDeleteSomeRequest

    Field NameTypeDescription
    keysChangeControlKey[…]

    key contains a list of ApproveConfig keys to delete

    ApproveConfigDeleteSomeResponse

    ApproveConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyChangeControlKey

    errorstring

    ApproveConfigRequest

    Field NameTypeDescription
    keyChangeControlKey

    Key uniquely identifies a ApproveConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ApproveConfigResponse

    Field NameTypeDescription
    valueApproveConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ApproveConfig instance in this response.

    ApproveConfigSetRequest

    Field NameTypeDescription
    valueApproveConfig

    ApproveConfig carries the value to set into the datastore.

    See the documentation on the ApproveConfig struct for which fields are required.

    ApproveConfigSetResponse

    Field NameTypeDescription
    valueApproveConfig

    Value carries all the values given in the ApproveConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    ApproveConfigSetSomeRequest

    Field NameTypeDescription
    valuesApproveConfig[…]

    value contains a list of ApproveConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    ApproveConfigSetSomeResponse

    Field NameTypeDescription
    keyChangeControlKey

    errorstring

    ApproveConfigSomeRequest

    Field NameTypeDescription
    keysChangeControlKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ApproveConfigSomeResponse

    Field NameTypeDescription
    valueApproveConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ApproveConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterApproveConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ApproveConfig at end.

    * Each ApproveConfig response is fully-specified (all fields set).

    * start: Returns the state of each ApproveConfig at start, followed by updates until now.

    * Each ApproveConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ApproveConfig at start, followed by updates

    until end.

    * Each ApproveConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ApproveConfigStreamResponse

    Field NameTypeDescription
    valueApproveConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ApproveConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ApproveConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ChangeControlBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterChangeControl[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter

    For each ChangeControl in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given ChangeControl is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ChangeControl at end.

    * Each ChangeControl response is fully-specified (all fields set).

    * start: Returns the state of each ChangeControl at start, followed by updates until now.

    * Each ChangeControl response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ChangeControl at start, followed by updates

    until end.

    * Each ChangeControl response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ChangeControlBatchedStreamResponse

    Field NameTypeDescription
    responsesChangeControlStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ChangeControlConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterChangeControlConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ChangeControlConfig at end.

    * Each ChangeControlConfig response is fully-specified (all fields set).

    * start: Returns the state of each ChangeControlConfig at start, followed by updates until now.

    * Each ChangeControlConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ChangeControlConfig at start, followed by updates

    until end.

    * Each ChangeControlConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ChangeControlConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesChangeControlConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ChangeControlConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterChangeControlConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    ChangeControlConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyChangeControlKey

    This is the key of the ChangeControlConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    ChangeControlConfigDeleteRequest

    Field NameTypeDescription
    keyChangeControlKey

    Key indicates which ChangeControlConfig instance to remove.

    This field must always be set.

    ChangeControlConfigDeleteResponse

    Field NameTypeDescription
    keyChangeControlKey

    Key echoes back the key of the deleted ChangeControlConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    ChangeControlConfigDeleteSomeRequest

    Field NameTypeDescription
    keysChangeControlKey[…]

    key contains a list of ChangeControlConfig keys to delete

    ChangeControlConfigDeleteSomeResponse

    ChangeControlConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyChangeControlKey

    errorstring

    ChangeControlConfigRequest

    Field NameTypeDescription
    keyChangeControlKey

    Key uniquely identifies a ChangeControlConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ChangeControlConfigResponse

    Field NameTypeDescription
    valueChangeControlConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ChangeControlConfig instance in this response.

    ChangeControlConfigSetRequest

    Field NameTypeDescription
    valueChangeControlConfig

    ChangeControlConfig carries the value to set into the datastore.

    See the documentation on the ChangeControlConfig struct for which fields are required.

    ChangeControlConfigSetResponse

    Field NameTypeDescription
    valueChangeControlConfig

    Value carries all the values given in the ChangeControlConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    ChangeControlConfigSetSomeRequest

    Field NameTypeDescription
    valuesChangeControlConfig[…]

    value contains a list of ChangeControlConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    ChangeControlConfigSetSomeResponse

    Field NameTypeDescription
    keyChangeControlKey

    errorstring

    ChangeControlConfigSomeRequest

    Field NameTypeDescription
    keysChangeControlKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ChangeControlConfigSomeResponse

    Field NameTypeDescription
    valueChangeControlConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ChangeControlConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterChangeControlConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ChangeControlConfig at end.

    * Each ChangeControlConfig response is fully-specified (all fields set).

    * start: Returns the state of each ChangeControlConfig at start, followed by updates until now.

    * Each ChangeControlConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ChangeControlConfig at start, followed by updates

    until end.

    * Each ChangeControlConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ChangeControlConfigStreamResponse

    Field NameTypeDescription
    valueChangeControlConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ChangeControlConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ChangeControlConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ChangeControlRequest

    Field NameTypeDescription
    keyChangeControlKey

    Key uniquely identifies a ChangeControl instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ChangeControlResponse

    Field NameTypeDescription
    valueChangeControl

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ChangeControl instance in this response.

    ChangeControlSomeRequest

    Field NameTypeDescription
    keysChangeControlKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ChangeControlSomeResponse

    Field NameTypeDescription
    valueChangeControl

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ChangeControlStreamRequest

    Field NameTypeDescription
    partial_eq_filterChangeControl[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter

    For each ChangeControl in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given ChangeControl is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ChangeControl at end.

    * Each ChangeControl response is fully-specified (all fields set).

    * start: Returns the state of each ChangeControl at start, followed by updates until now.

    * Each ChangeControl response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ChangeControl at start, followed by updates

    until end.

    * Each ChangeControl response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ChangeControlStreamResponse

    Field NameTypeDescription
    valueChangeControl

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ChangeControl’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ChangeControl value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    ApproveConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneApproveConfigRequestApproveConfigResponse

    GetSomeApproveConfigSomeRequestApproveConfigSomeResponse stream

    GetAllApproveConfigStreamRequestApproveConfigStreamResponse stream

    SubscribeApproveConfigStreamRequestApproveConfigStreamResponse stream

    GetMetaApproveConfigStreamRequestMetaResponse

    SubscribeMetaApproveConfigStreamRequestMetaResponse stream

    SetApproveConfigSetRequestApproveConfigSetResponse

    SetSomeApproveConfigSetSomeRequestApproveConfigSetSomeResponse stream

    DeleteApproveConfigDeleteRequestApproveConfigDeleteResponse

    DeleteSomeApproveConfigDeleteSomeRequestApproveConfigDeleteSomeResponse stream

    DeleteAllApproveConfigDeleteAllRequestApproveConfigDeleteAllResponse stream

    GetAllBatchedApproveConfigBatchedStreamRequestApproveConfigBatchedStreamResponse stream

    SubscribeBatchedApproveConfigBatchedStreamRequestApproveConfigBatchedStreamResponse stream

    ChangeControlConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneChangeControlConfigRequestChangeControlConfigResponse

    GetSomeChangeControlConfigSomeRequestChangeControlConfigSomeResponse stream

    GetAllChangeControlConfigStreamRequestChangeControlConfigStreamResponse stream

    SubscribeChangeControlConfigStreamRequestChangeControlConfigStreamResponse stream

    GetMetaChangeControlConfigStreamRequestMetaResponse

    SubscribeMetaChangeControlConfigStreamRequestMetaResponse stream

    SetChangeControlConfigSetRequestChangeControlConfigSetResponse

    SetSomeChangeControlConfigSetSomeRequestChangeControlConfigSetSomeResponse stream

    DeleteChangeControlConfigDeleteRequestChangeControlConfigDeleteResponse

    DeleteSomeChangeControlConfigDeleteSomeRequestChangeControlConfigDeleteSomeResponse stream

    DeleteAllChangeControlConfigDeleteAllRequestChangeControlConfigDeleteAllResponse stream

    GetAllBatchedChangeControlConfigBatchedStreamRequestChangeControlConfigBatchedStreamResponse stream

    SubscribeBatchedChangeControlConfigBatchedStreamRequestChangeControlConfigBatchedStreamResponse stream

    ChangeControlService

    Method NameRequest TypeResponse TypeDescription
    GetOneChangeControlRequestChangeControlResponse

    GetSomeChangeControlSomeRequestChangeControlSomeResponse stream

    GetAllChangeControlStreamRequestChangeControlStreamResponse stream

    SubscribeChangeControlStreamRequestChangeControlStreamResponse stream

    GetMetaChangeControlStreamRequestMetaResponse

    SubscribeMetaChangeControlStreamRequestMetaResponse stream

    GetAllBatchedChangeControlBatchedStreamRequestChangeControlBatchedStreamResponse stream

    SubscribeBatchedChangeControlBatchedStreamRequestChangeControlBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/configlet.v1/index.html b/models/configlet.v1/index.html index a7521622..dd8f0943 100644 --- a/models/configlet.v1/index.html +++ b/models/configlet.v1/index.html @@ -1,7 +1,7 @@ -configlet.v1 :: Arista Networks FMP APIs -

    configlet.v1

    Top

    arista/configlet.v1/configlet.proto

    Configlet

    Configlet is the state of a static configlet in a workspace or mainline. @@ -16,4 +16,4 @@ Devices resolved in child assignments but which do not resolve in that of its parent’s are skipped.

  • Match policy determines how the assignment’s devices get divied up amongst its children.
  • Field NameTypeDescription
    keyConfigletAssignmentKey

    display_namegoogle.protobuf.StringValue

    descriptiongoogle.protobuf.StringValue

    configlet_idsfmp.RepeatedString

    configlet_ids is the list of configlets to be assigned

    querygoogle.protobuf.StringValue

    query is a tag query string that conforms to the CloudVision

    tag query language. E.g., the query, "datacenter:NYC,SFO AND</p><p>sflow:enabled", matches all devices with sflow enabled in

    data centers NYC and SFO.

    malformed queries result in an error

    tags not matching devices are ignored

    removegoogle.protobuf.BoolValue

    remove indicates whether to remove (true) or add (false,

    unset) the tag assignments involving the studio identified

    by the key if the encompassing workspace merges. Other data

    fields are not allowed if this field is set to true.

    match_policyMatchPolicy

    match_policy is the discriminator for the query field

    child_assignment_idsfmp.RepeatedString

    list of child assignments

    ConfigletAssignmentKey

    ConfigletAssignmentKey uniquely identifies a configlet assignment

    Field NameTypeDescription
    workspace_idgoogle.protobuf.StringValue

    workspace_id is the unique identifier of the workspace.

    configlet_assignment_idgoogle.protobuf.StringValue

    configlet_assignment_id is the unique identifier of the configlet_assignment.

    ConfigletConfig

    ConfigletConfig updates a static configlet in a workspace.

    Field NameTypeDescription
    keyConfigletKey

    removegoogle.protobuf.BoolValue

    remove specifies the static configlet is to be removed from the workspace.

    Other data fields are not allowed when this field is set to true.

    display_namegoogle.protobuf.StringValue

    display_name is the display name of the static configlet.

    descriptiongoogle.protobuf.StringValue

    description is the description of the static configlet.

    migrated_fromgoogle.protobuf.StringValue

    migrated_from is populated with the source configlet name when migrated

    from network provisioning to studio.

    bodygoogle.protobuf.StringValue

    body is the static configlet body.

    ConfigletKey

    ConfigletKey uniquely identifies a static configlet.

    Field NameTypeDescription
    workspace_idgoogle.protobuf.StringValue

    workspace_id identifies the workspace within which the static configlet resides

    empty string ("") stands for the “mainline”.

    configlet_idgoogle.protobuf.StringValue

    configlet_id is the static configlet ID.

    Filter

    Filter is used to filter static configlets.

    Field NameTypeDescription
    include_bodygoogle.protobuf.BoolValue

    include_body specifies the static configlet body is to be included.

    MatchPolicy

    MatchPolicy specifies how the tag query of a configlet assignment should be used to resolve devices for its children

    NameNumberDescription
    MATCH_POLICY_UNSPECIFIED0

    MATCH_POLICY_MATCH_FIRST1

    MATCH_POLICY_MATCH_FIRST dictates that matching devices are used only for the first match amongst its children

    MATCH_POLICY_MATCH_ALL2

    MATCH_POLICY_MATCH_ALL dictates that matching devices are used across all children

    Top

    arista/configlet.v1/services.gen.proto

    ConfigletAssignmentBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigletAssignment[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigletAssignment at end.

    * Each ConfigletAssignment response is fully-specified (all fields set).

    * start: Returns the state of each ConfigletAssignment at start, followed by updates until now.

    * Each ConfigletAssignment response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigletAssignment at start, followed by updates

    until end.

    * Each ConfigletAssignment response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ConfigletAssignmentBatchedStreamResponse

    Field NameTypeDescription
    responsesConfigletAssignmentStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ConfigletAssignmentConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigletAssignmentConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigletAssignmentConfig at end.

    * Each ConfigletAssignmentConfig response is fully-specified (all fields set).

    * start: Returns the state of each ConfigletAssignmentConfig at start, followed by updates until now.

    * Each ConfigletAssignmentConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigletAssignmentConfig at start, followed by updates

    until end.

    * Each ConfigletAssignmentConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ConfigletAssignmentConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesConfigletAssignmentConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ConfigletAssignmentConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterConfigletAssignmentConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    ConfigletAssignmentConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyConfigletAssignmentKey

    This is the key of the ConfigletAssignmentConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    ConfigletAssignmentConfigDeleteRequest

    Field NameTypeDescription
    keyConfigletAssignmentKey

    Key indicates which ConfigletAssignmentConfig instance to remove.

    This field must always be set.

    ConfigletAssignmentConfigDeleteResponse

    Field NameTypeDescription
    keyConfigletAssignmentKey

    Key echoes back the key of the deleted ConfigletAssignmentConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    ConfigletAssignmentConfigDeleteSomeRequest

    Field NameTypeDescription
    keysConfigletAssignmentKey[…]

    key contains a list of ConfigletAssignmentConfig keys to delete

    ConfigletAssignmentConfigDeleteSomeResponse

    ConfigletAssignmentConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyConfigletAssignmentKey

    errorstring

    ConfigletAssignmentConfigRequest

    Field NameTypeDescription
    keyConfigletAssignmentKey

    Key uniquely identifies a ConfigletAssignmentConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletAssignmentConfigResponse

    Field NameTypeDescription
    valueConfigletAssignmentConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ConfigletAssignmentConfig instance in this response.

    ConfigletAssignmentConfigSetRequest

    Field NameTypeDescription
    valueConfigletAssignmentConfig

    ConfigletAssignmentConfig carries the value to set into the datastore.

    See the documentation on the ConfigletAssignmentConfig struct for which fields are required.

    ConfigletAssignmentConfigSetResponse

    Field NameTypeDescription
    valueConfigletAssignmentConfig

    Value carries all the values given in the ConfigletAssignmentConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    ConfigletAssignmentConfigSetSomeRequest

    Field NameTypeDescription
    valuesConfigletAssignmentConfig[…]

    value contains a list of ConfigletAssignmentConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    ConfigletAssignmentConfigSetSomeResponse

    Field NameTypeDescription
    keyConfigletAssignmentKey

    errorstring

    ConfigletAssignmentConfigSomeRequest

    Field NameTypeDescription
    keysConfigletAssignmentKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletAssignmentConfigSomeResponse

    Field NameTypeDescription
    valueConfigletAssignmentConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ConfigletAssignmentConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigletAssignmentConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigletAssignmentConfig at end.

    * Each ConfigletAssignmentConfig response is fully-specified (all fields set).

    * start: Returns the state of each ConfigletAssignmentConfig at start, followed by updates until now.

    * Each ConfigletAssignmentConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigletAssignmentConfig at start, followed by updates

    until end.

    * Each ConfigletAssignmentConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ConfigletAssignmentConfigStreamResponse

    Field NameTypeDescription
    valueConfigletAssignmentConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ConfigletAssignmentConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ConfigletAssignmentConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ConfigletAssignmentRequest

    Field NameTypeDescription
    keyConfigletAssignmentKey

    Key uniquely identifies a ConfigletAssignment instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletAssignmentResponse

    Field NameTypeDescription
    valueConfigletAssignment

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ConfigletAssignment instance in this response.

    ConfigletAssignmentSomeRequest

    Field NameTypeDescription
    keysConfigletAssignmentKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletAssignmentSomeResponse

    Field NameTypeDescription
    valueConfigletAssignment

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ConfigletAssignmentStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigletAssignment[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigletAssignment at end.

    * Each ConfigletAssignment response is fully-specified (all fields set).

    * start: Returns the state of each ConfigletAssignment at start, followed by updates until now.

    * Each ConfigletAssignment response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigletAssignment at start, followed by updates

    until end.

    * Each ConfigletAssignment response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ConfigletAssignmentStreamResponse

    Field NameTypeDescription
    valueConfigletAssignment

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ConfigletAssignment’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ConfigletAssignment value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ConfigletBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfiglet[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter

    For each Configlet in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given Configlet is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Configlet at end.

    * Each Configlet response is fully-specified (all fields set).

    * start: Returns the state of each Configlet at start, followed by updates until now.

    * Each Configlet response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Configlet at start, followed by updates

    until end.

    * Each Configlet response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ConfigletBatchedStreamResponse

    Field NameTypeDescription
    responsesConfigletStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ConfigletConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigletConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter

    For each ConfigletConfig in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given ConfigletConfig is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigletConfig at end.

    * Each ConfigletConfig response is fully-specified (all fields set).

    * start: Returns the state of each ConfigletConfig at start, followed by updates until now.

    * Each ConfigletConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigletConfig at start, followed by updates

    until end.

    * Each ConfigletConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ConfigletConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesConfigletConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ConfigletConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterConfigletConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    filterFilter

    For each ConfigletConfig in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given ConfigletConfig will be deleted.

    ConfigletConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyConfigletKey

    This is the key of the ConfigletConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    ConfigletConfigDeleteRequest

    Field NameTypeDescription
    keyConfigletKey

    Key indicates which ConfigletConfig instance to remove.

    This field must always be set.

    ConfigletConfigDeleteResponse

    Field NameTypeDescription
    keyConfigletKey

    Key echoes back the key of the deleted ConfigletConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    ConfigletConfigDeleteSomeRequest

    Field NameTypeDescription
    keysConfigletKey[…]

    key contains a list of ConfigletConfig keys to delete

    ConfigletConfigDeleteSomeResponse

    ConfigletConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyConfigletKey

    errorstring

    ConfigletConfigRequest

    Field NameTypeDescription
    keyConfigletKey

    Key uniquely identifies a ConfigletConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletConfigResponse

    Field NameTypeDescription
    valueConfigletConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ConfigletConfig instance in this response.

    ConfigletConfigSetRequest

    Field NameTypeDescription
    valueConfigletConfig

    ConfigletConfig carries the value to set into the datastore.

    See the documentation on the ConfigletConfig struct for which fields are required.

    ConfigletConfigSetResponse

    Field NameTypeDescription
    valueConfigletConfig

    Value carries all the values given in the ConfigletConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    ConfigletConfigSetSomeRequest

    Field NameTypeDescription
    valuesConfigletConfig[…]

    value contains a list of ConfigletConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    ConfigletConfigSetSomeResponse

    Field NameTypeDescription
    keyConfigletKey

    errorstring

    ConfigletConfigSomeRequest

    Field NameTypeDescription
    keysConfigletKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletConfigSomeResponse

    Field NameTypeDescription
    valueConfigletConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ConfigletConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigletConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter

    For each ConfigletConfig in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given ConfigletConfig is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigletConfig at end.

    * Each ConfigletConfig response is fully-specified (all fields set).

    * start: Returns the state of each ConfigletConfig at start, followed by updates until now.

    * Each ConfigletConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigletConfig at start, followed by updates

    until end.

    * Each ConfigletConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ConfigletConfigStreamResponse

    Field NameTypeDescription
    valueConfigletConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ConfigletConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ConfigletConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ConfigletRequest

    Field NameTypeDescription
    keyConfigletKey

    Key uniquely identifies a Configlet instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletResponse

    Field NameTypeDescription
    valueConfiglet

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Configlet instance in this response.

    ConfigletSomeRequest

    Field NameTypeDescription
    keysConfigletKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigletSomeResponse

    Field NameTypeDescription
    valueConfiglet

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ConfigletStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfiglet[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter

    For each Configlet in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given Configlet is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Configlet at end.

    * Each Configlet response is fully-specified (all fields set).

    * start: Returns the state of each Configlet at start, followed by updates until now.

    * Each Configlet response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Configlet at start, followed by updates

    until end.

    * Each Configlet response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ConfigletStreamResponse

    Field NameTypeDescription
    valueConfiglet

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Configlet’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Configlet value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    ConfigletAssignmentConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneConfigletAssignmentConfigRequestConfigletAssignmentConfigResponse

    GetSomeConfigletAssignmentConfigSomeRequestConfigletAssignmentConfigSomeResponse stream

    GetAllConfigletAssignmentConfigStreamRequestConfigletAssignmentConfigStreamResponse stream

    SubscribeConfigletAssignmentConfigStreamRequestConfigletAssignmentConfigStreamResponse stream

    GetMetaConfigletAssignmentConfigStreamRequestMetaResponse

    SubscribeMetaConfigletAssignmentConfigStreamRequestMetaResponse stream

    SetConfigletAssignmentConfigSetRequestConfigletAssignmentConfigSetResponse

    SetSomeConfigletAssignmentConfigSetSomeRequestConfigletAssignmentConfigSetSomeResponse stream

    DeleteConfigletAssignmentConfigDeleteRequestConfigletAssignmentConfigDeleteResponse

    DeleteSomeConfigletAssignmentConfigDeleteSomeRequestConfigletAssignmentConfigDeleteSomeResponse stream

    DeleteAllConfigletAssignmentConfigDeleteAllRequestConfigletAssignmentConfigDeleteAllResponse stream

    GetAllBatchedConfigletAssignmentConfigBatchedStreamRequestConfigletAssignmentConfigBatchedStreamResponse stream

    SubscribeBatchedConfigletAssignmentConfigBatchedStreamRequestConfigletAssignmentConfigBatchedStreamResponse stream

    ConfigletAssignmentService

    Method NameRequest TypeResponse TypeDescription
    GetOneConfigletAssignmentRequestConfigletAssignmentResponse

    GetSomeConfigletAssignmentSomeRequestConfigletAssignmentSomeResponse stream

    GetAllConfigletAssignmentStreamRequestConfigletAssignmentStreamResponse stream

    SubscribeConfigletAssignmentStreamRequestConfigletAssignmentStreamResponse stream

    GetMetaConfigletAssignmentStreamRequestMetaResponse

    SubscribeMetaConfigletAssignmentStreamRequestMetaResponse stream

    GetAllBatchedConfigletAssignmentBatchedStreamRequestConfigletAssignmentBatchedStreamResponse stream

    SubscribeBatchedConfigletAssignmentBatchedStreamRequestConfigletAssignmentBatchedStreamResponse stream

    ConfigletConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneConfigletConfigRequestConfigletConfigResponse

    GetSomeConfigletConfigSomeRequestConfigletConfigSomeResponse stream

    GetAllConfigletConfigStreamRequestConfigletConfigStreamResponse stream

    SubscribeConfigletConfigStreamRequestConfigletConfigStreamResponse stream

    GetMetaConfigletConfigStreamRequestMetaResponse

    SubscribeMetaConfigletConfigStreamRequestMetaResponse stream

    SetConfigletConfigSetRequestConfigletConfigSetResponse

    SetSomeConfigletConfigSetSomeRequestConfigletConfigSetSomeResponse stream

    DeleteConfigletConfigDeleteRequestConfigletConfigDeleteResponse

    DeleteSomeConfigletConfigDeleteSomeRequestConfigletConfigDeleteSomeResponse stream

    DeleteAllConfigletConfigDeleteAllRequestConfigletConfigDeleteAllResponse stream

    GetAllBatchedConfigletConfigBatchedStreamRequestConfigletConfigBatchedStreamResponse stream

    SubscribeBatchedConfigletConfigBatchedStreamRequestConfigletConfigBatchedStreamResponse stream

    ConfigletService

    Method NameRequest TypeResponse TypeDescription
    GetOneConfigletRequestConfigletResponse

    GetSomeConfigletSomeRequestConfigletSomeResponse stream

    GetAllConfigletStreamRequestConfigletStreamResponse stream

    SubscribeConfigletStreamRequestConfigletStreamResponse stream

    GetMetaConfigletStreamRequestMetaResponse

    SubscribeMetaConfigletStreamRequestMetaResponse stream

    GetAllBatchedConfigletBatchedStreamRequestConfigletBatchedStreamResponse stream

    SubscribeBatchedConfigletBatchedStreamRequestConfigletBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/configstatus.v1/index.html b/models/configstatus.v1/index.html index e0ce49d4..cb873066 100644 --- a/models/configstatus.v1/index.html +++ b/models/configstatus.v1/index.html @@ -1,10 +1,10 @@ -configstatus.v1 :: Arista Networks FMP APIs -

    configstatus.v1

    Top

    arista/configstatus.v1/configstatus.proto

    ConfigDiff

    Field NameTypeDescription
    keyConfigDiffKey

    Key represents config diff key

    urigoogle.protobuf.StringValue

    Uri represents the HTTP URI client can use to GET config diff and associated errors

    ConfigDiffKey

    ConfigDiffKey uniquely identifies a configuration diff request

    Field NameTypeDescription
    a_device_idgoogle.protobuf.StringValue

    A_device_id is the serial number of the device on A side (left hand side)

    a_typeConfigType

    A_type is the config type on A side (left hand side)

    a_timegoogle.protobuf.Timestamp

    A_time is the time at which to fetch config on A side (left hand side)

    b_device_idgoogle.protobuf.StringValue

    B_device_id is the serial number of the device on B side (right hand side)

    b_typeConfigType

    B_type is the config type on B side (right hand side)

    b_timegoogle.protobuf.Timestamp

    B_time is the time at which to fetch config on B side (right hand side)

    ConfigError

    ConfigError represents errors reported by CVP when handling device configuration

    Field NameTypeDescription
    error_codeErrorCode

    error_msggoogle.protobuf.StringValue

    line_numgoogle.protobuf.Int32Value

    Line_num represents line number, if any

    configlet_namegoogle.protobuf.StringValue

    Configlet_name represents the originating configlet name. Configlet_name

    and line_num point to the line where config warning or config error originate.

    ConfigErrors

    Field NameTypeDescription
    valuesConfigError[…]

    ConfigKey

    ConfigKey uniquely identifies a config request.

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    Device_id is the serial number of the device

    typeConfigType

    Type describes the config type

    ConfigSource

    ConfigSource describes an individual source of the proposed/designed config

    Field NameTypeDescription
    source_typeConfigSourceType

    source_idgoogle.protobuf.StringValue

    source_id identifier to distinguish between multiple instances of the source type

    source_id is :

    configlet name for CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET

    studio id for CONFIG_SOURCE_TYPE_STUDIO

    configlet id for CONFIG_SOURCE_TYPE_STUDIO_STATIC

    ConfigSources

    ConfigSources is the list of sources of the proposed/designed config

    Field NameTypeDescription
    valuesConfigSource[…]

    ConfigSummary

    ConfigSummary represents device configuration summary.

    Field NameTypeDescription
    syncConfigSyncCode

    nop_linesgoogle.protobuf.Int32Value

    Number of lines with code no-operation

    ignored_linesgoogle.protobuf.Int32Value

    Number of lines with code IGNORE

    added_linesgoogle.protobuf.Int32Value

    Number of lines with code ADD

    deleted_linesgoogle.protobuf.Int32Value

    Number of lines with code DELETE

    changed_linesgoogle.protobuf.Int32Value

    Number of lines with code CHANGE

    designed_config_errorsgoogle.protobuf.Int32Value

    Number of designed config errors

    designed_config_warningsgoogle.protobuf.Int32Value

    Number of designed config warnings

    running_config_update_timegoogle.protobuf.Timestamp

    Timestamp at which running config is updated

    designed_config_update_timegoogle.protobuf.Timestamp

    Timestamp at which designed config is updated

    running_config_urigoogle.protobuf.StringValue

    The HTTP URI client can use to GET running config and associated errors

    designed_config_urigoogle.protobuf.StringValue

    The HTTP URI client can use to GET designed config and associated errors

    diff_urigoogle.protobuf.StringValue

    The HTTP URI client can use to GET config diff and associated errors

    digestgoogle.protobuf.StringValue

    Digest (SHA-256) of the config diff.

    Configuration

    Configuration represents device’s CLI configuration

    Field NameTypeDescription
    keyConfigKey

    urigoogle.protobuf.StringValue

    Uri represents the HTTP URI client can use to GET config body and associated errors

    DiffEntries

    DiffEntries indicates potential multiple lines of config diff

    Field NameTypeDescription
    valuesDiffEntry[…]

    DiffEntry

    DiffEntry represents one entry in a Diff

    Field NameTypeDescription
    opDiffOp

    a_line_numgoogle.protobuf.Int32Value

    line number in A this diff applies to

    b_line_numgoogle.protobuf.Int32Value

    line number in B this diff applies to

    b_parent_line_numgoogle.protobuf.Int32Value

    line number of the parent command in B

    a_linegoogle.protobuf.StringValue

    content of config line in A

    b_linegoogle.protobuf.StringValue

    content of config line in B

    a_filter_codeConfigFilterCode

    Config filter code of the line in A

    b_filter_codeConfigFilterCode

    Config filter code of the line in B

    a_parent_line_numgoogle.protobuf.Int32Value

    line number of the parent command in A

    SecurityProfile

    SecurityProfile holds the EOS configuration for the security profile.

    Field NameTypeDescription
    keyConfigKey

    key uniquely identifies the configuration

    configgoogle.protobuf.StringValue

    config describes the security profile config body

    SecurityProfileComplianceSummary

    SecurityProfileComplianceSummary holds the compliance summary for security profile configuration.

    Field NameTypeDescription
    syncConfigSyncCode

    nop_linesgoogle.protobuf.Int32Value

    nop_lines is the number of lines with code no-operation

    ignored_linesgoogle.protobuf.Int32Value

    ignored_lines is the number of lines with code IGNORE

    added_linesgoogle.protobuf.Int32Value

    added_lines is the number of lines with code ADD

    deleted_linesgoogle.protobuf.Int32Value

    deleted_lines is the number of lines with code DELETE

    changed_linesgoogle.protobuf.Int32Value

    changed_lines is the Number of lines with code CHANGE

    digestgoogle.protobuf.StringValue

    digest is the digest (SHA-256 hash) of the security profile configuration diff

    running_config_update_timegoogle.protobuf.Timestamp

    running_config_update_time is the timestamp at which running security profile

    or running config is updated

    designed_config_update_timegoogle.protobuf.Timestamp

    designed_config_update_time is the timestamp at which designed security profile or

    designed config is updated

    SecurityProfileDiff

    SecurityProfileDiff holds the security profile configuration diff.

    Field NameTypeDescription
    keyConfigDiffKey

    key represents security profile config diff key

    diffDiffEntries

    diff represents diff entries

    SecurityProfileDiffSummary

    SecurityProfileDiffSummary holds device compliance summary w.r.t security profile.

    Field NameTypeDescription
    keySummaryKey

    key uniquely identifies the Summary

    summarySecurityProfileComplianceSummary

    summary is the security profile configuration compliance summary

    Summary

    Field NameTypeDescription
    keySummaryKey

    summaryConfigSummary

    SummaryKey

    SummaryKey uniquely identifies a device summary request

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    Device_id is the serial number of the device

    ConfigFilterCode

    ConfigFilterCode indicates if a config line matches PCM filter(s)

    NameNumberDescription
    CONFIG_FILTER_CODE_UNSPECIFIED0

    UNSPECIFIED indicates config line did not match any partial config management (PCM) filter

    CONFIG_FILTER_CODE_MANAGED_LINE1

    MANAGED_LINE indicates config line matches managed PCM filter hence is managed

    CONFIG_FILTER_CODE_UNMANAGED_LINE2

    UNMANAGED_LINE indicates config line matches unmanaged PCM filter hence is not managed

    ConfigSourceType

    ConfigSourceType indicates the type of source for the proposed/designed configuration for the device

    NameNumberDescription
    CONFIG_SOURCE_TYPE_UNSPECIFIED0

    CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET1

    CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET - configlet created from

    the network provisioning workflow.

    CONFIG_SOURCE_TYPE_STUDIO2

    CONFIG_SOURCE_TYPE_STUDIO - config generated from a regular studio

    CONFIG_SOURCE_TYPE_STUDIO_STATIC3

    SCONFIG_SOURCE_TYPE_STUDIO_STATIC - static config from studios framework

    ConfigSyncCode

    ConfigSyncCode indicates config synchronization status

    NameNumberDescription
    CONFIG_SYNC_CODE_UNSPECIFIED0

    CONFIG_SYNC_CODE_IN_SYNC1

    IN_SYNC indicates designed config and running config are identical

    CONFIG_SYNC_CODE_OUT_OF_SYNC2

    OUT_OF_SYNC indicates designed config and running config are not identical

    ConfigType

    NameNumberDescription
    CONFIG_TYPE_UNSPECIFIED0

    CONFIG_TYPE_RUNNING_CONFIG1

    CONFIG_TYPE_DESIGNED_CONFIG2

    DiffOp

    DiffOp is the operation to a line from one side of diff to get to another

    NameNumberDescription
    DIFF_OP_UNSPECIFIED0

    DIFF_OP_NOP1

    NOP indicates no change. A and B are identical at this line

    DIFF_OP_IGNORE2

    IGNORE indicates a line that’s ignored in either A or B.

    One of a_line_num or b_line_num will be -1

    DIFF_OP_ADD3

    ADD is an addition of a line from A

    DIFF_OP_DELETE4

    DELETE is deletion of a line from B

    DIFF_OP_CHANGE5

    CHANGE is a modification to a line in A

    ErrorCode

    ErrorCode indicates warnings and errors produced during computing config

    NameNumberDescription
    ERROR_CODE_UNSPECIFIED0

    ERROR_CODE_DEVICE_WARNING1

    DEVICE_WARNING indicates device warning

    ERROR_CODE_DEVICE_ERROR2

    DEVICE_ERROR indicates device error

    ERROR_CODE_UNREACHABLE_DEVICE3

    UNREACHABLE_DEVICE indicates the device cannot be reached

    ERROR_CODE_CONFIG_FILTER_ERROR4

    CONFIG_FILTER_ERROR indicates error from partial config management filters

    ERROR_CODE_INTERNAL5

    INTERNAL indicates internal errors

    Top

    arista/configstatus.v1/services.gen.proto

    ConfigDiffBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigDiff[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigDiff at end.

    * Each ConfigDiff response is fully-specified (all fields set).

    * start: Returns the state of each ConfigDiff at start, followed by updates until now.

    * Each ConfigDiff response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigDiff at start, followed by updates

    until end.

    * Each ConfigDiff response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ConfigDiffBatchedStreamResponse

    Field NameTypeDescription
    responsesConfigDiffStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ConfigDiffRequest

    Field NameTypeDescription
    keyConfigDiffKey

    Key uniquely identifies a ConfigDiff instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigDiffResponse

    Field NameTypeDescription
    valueConfigDiff

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ConfigDiff instance in this response.

    ConfigDiffSomeRequest

    Field NameTypeDescription
    keysConfigDiffKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigDiffSomeResponse

    Field NameTypeDescription
    valueConfigDiff

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ConfigDiffStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfigDiff[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ConfigDiff at end.

    * Each ConfigDiff response is fully-specified (all fields set).

    * start: Returns the state of each ConfigDiff at start, followed by updates until now.

    * Each ConfigDiff response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ConfigDiff at start, followed by updates

    until end.

    * Each ConfigDiff response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ConfigDiffStreamResponse

    Field NameTypeDescription
    valueConfigDiff

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ConfigDiff’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ConfigDiff value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ConfigurationBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfiguration[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Configuration at end.

    * Each Configuration response is fully-specified (all fields set).

    * start: Returns the state of each Configuration at start, followed by updates until now.

    * Each Configuration response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Configuration at start, followed by updates

    until end.

    * Each Configuration response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ConfigurationBatchedStreamResponse

    Field NameTypeDescription
    responsesConfigurationStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ConfigurationRequest

    Field NameTypeDescription
    keyConfigKey

    Key uniquely identifies a Configuration instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigurationResponse

    Field NameTypeDescription
    valueConfiguration

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Configuration instance in this response.

    ConfigurationSomeRequest

    Field NameTypeDescription
    keysConfigKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ConfigurationSomeResponse

    Field NameTypeDescription
    valueConfiguration

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ConfigurationStreamRequest

    Field NameTypeDescription
    partial_eq_filterConfiguration[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Configuration at end.

    * Each Configuration response is fully-specified (all fields set).

    * start: Returns the state of each Configuration at start, followed by updates until now.

    * Each Configuration response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Configuration at start, followed by updates

    until end.

    * Each Configuration response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ConfigurationStreamResponse

    Field NameTypeDescription
    valueConfiguration

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Configuration’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Configuration value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    SecurityProfileBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecurityProfile[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecurityProfile at end.

    * Each SecurityProfile response is fully-specified (all fields set).

    * start: Returns the state of each SecurityProfile at start, followed by updates until now.

    * Each SecurityProfile response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecurityProfile at start, followed by updates

    until end.

    * Each SecurityProfile response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SecurityProfileBatchedStreamResponse

    Field NameTypeDescription
    responsesSecurityProfileStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SecurityProfileDiffBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecurityProfileDiff[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecurityProfileDiff at end.

    * Each SecurityProfileDiff response is fully-specified (all fields set).

    * start: Returns the state of each SecurityProfileDiff at start, followed by updates until now.

    * Each SecurityProfileDiff response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecurityProfileDiff at start, followed by updates

    until end.

    * Each SecurityProfileDiff response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SecurityProfileDiffBatchedStreamResponse

    Field NameTypeDescription
    responsesSecurityProfileDiffStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SecurityProfileDiffRequest

    Field NameTypeDescription
    keyConfigDiffKey

    Key uniquely identifies a SecurityProfileDiff instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecurityProfileDiffResponse

    Field NameTypeDescription
    valueSecurityProfileDiff

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    SecurityProfileDiff instance in this response.

    SecurityProfileDiffSomeRequest

    Field NameTypeDescription
    keysConfigDiffKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecurityProfileDiffSomeResponse

    Field NameTypeDescription
    valueSecurityProfileDiff

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SecurityProfileDiffStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecurityProfileDiff[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecurityProfileDiff at end.

    * Each SecurityProfileDiff response is fully-specified (all fields set).

    * start: Returns the state of each SecurityProfileDiff at start, followed by updates until now.

    * Each SecurityProfileDiff response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecurityProfileDiff at start, followed by updates

    until end.

    * Each SecurityProfileDiff response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SecurityProfileDiffStreamResponse

    Field NameTypeDescription
    valueSecurityProfileDiff

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this SecurityProfileDiff’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the SecurityProfileDiff value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    SecurityProfileDiffSummaryBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecurityProfileDiffSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecurityProfileDiffSummary at end.

    * Each SecurityProfileDiffSummary response is fully-specified (all fields set).

    * start: Returns the state of each SecurityProfileDiffSummary at start, followed by updates until now.

    * Each SecurityProfileDiffSummary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecurityProfileDiffSummary at start, followed by updates

    until end.

    * Each SecurityProfileDiffSummary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SecurityProfileDiffSummaryBatchedStreamResponse

    Field NameTypeDescription
    responsesSecurityProfileDiffSummaryStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SecurityProfileDiffSummaryRequest

    Field NameTypeDescription
    keySummaryKey

    Key uniquely identifies a SecurityProfileDiffSummary instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecurityProfileDiffSummaryResponse

    Field NameTypeDescription
    valueSecurityProfileDiffSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    SecurityProfileDiffSummary instance in this response.

    SecurityProfileDiffSummarySomeRequest

    Field NameTypeDescription
    keysSummaryKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecurityProfileDiffSummarySomeResponse

    Field NameTypeDescription
    valueSecurityProfileDiffSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SecurityProfileDiffSummaryStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecurityProfileDiffSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecurityProfileDiffSummary at end.

    * Each SecurityProfileDiffSummary response is fully-specified (all fields set).

    * start: Returns the state of each SecurityProfileDiffSummary at start, followed by updates until now.

    * Each SecurityProfileDiffSummary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecurityProfileDiffSummary at start, followed by updates

    until end.

    * Each SecurityProfileDiffSummary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SecurityProfileDiffSummaryStreamResponse

    Field NameTypeDescription
    valueSecurityProfileDiffSummary

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this SecurityProfileDiffSummary’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the SecurityProfileDiffSummary value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    SecurityProfileRequest

    Field NameTypeDescription
    keyConfigKey

    Key uniquely identifies a SecurityProfile instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecurityProfileResponse

    Field NameTypeDescription
    valueSecurityProfile

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    SecurityProfile instance in this response.

    SecurityProfileSomeRequest

    Field NameTypeDescription
    keysConfigKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecurityProfileSomeResponse

    Field NameTypeDescription
    valueSecurityProfile

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SecurityProfileStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecurityProfile[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecurityProfile at end.

    * Each SecurityProfile response is fully-specified (all fields set).

    * start: Returns the state of each SecurityProfile at start, followed by updates until now.

    * Each SecurityProfile response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecurityProfile at start, followed by updates

    until end.

    * Each SecurityProfile response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SecurityProfileStreamResponse

    Field NameTypeDescription
    valueSecurityProfile

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this SecurityProfile’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the SecurityProfile value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    SummaryBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Summary at end.

    * Each Summary response is fully-specified (all fields set).

    * start: Returns the state of each Summary at start, followed by updates until now.

    * Each Summary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Summary at start, followed by updates

    until end.

    * Each Summary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SummaryBatchedStreamResponse

    Field NameTypeDescription
    responsesSummaryStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SummaryRequest

    Field NameTypeDescription
    keySummaryKey

    Key uniquely identifies a Summary instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SummaryResponse

    Field NameTypeDescription
    valueSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Summary instance in this response.

    SummarySomeRequest

    Field NameTypeDescription
    keysSummaryKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SummarySomeResponse

    Field NameTypeDescription
    valueSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SummaryStreamRequest

    Field NameTypeDescription
    partial_eq_filterSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Summary at end.

    * Each Summary response is fully-specified (all fields set).

    * start: Returns the state of each Summary at start, followed by updates until now.

    * Each Summary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Summary at start, followed by updates

    until end.

    * Each Summary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SummaryStreamResponse

    Field NameTypeDescription
    valueSummary

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Summary’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Summary value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ConfigDiffService

    Method NameRequest TypeResponse TypeDescription
    GetOneConfigDiffRequestConfigDiffResponse

    GetSomeConfigDiffSomeRequestConfigDiffSomeResponse stream

    GetAllConfigDiffStreamRequestConfigDiffStreamResponse stream

    SubscribeConfigDiffStreamRequestConfigDiffStreamResponse stream

    GetMetaConfigDiffStreamRequestMetaResponse

    SubscribeMetaConfigDiffStreamRequestMetaResponse stream

    GetAllBatchedConfigDiffBatchedStreamRequestConfigDiffBatchedStreamResponse stream

    SubscribeBatchedConfigDiffBatchedStreamRequestConfigDiffBatchedStreamResponse stream

    ConfigurationService

    Method NameRequest TypeResponse TypeDescription
    GetOneConfigurationRequestConfigurationResponse

    GetSomeConfigurationSomeRequestConfigurationSomeResponse stream

    GetAllConfigurationStreamRequestConfigurationStreamResponse stream

    SubscribeConfigurationStreamRequestConfigurationStreamResponse stream

    GetMetaConfigurationStreamRequestMetaResponse

    SubscribeMetaConfigurationStreamRequestMetaResponse stream

    GetAllBatchedConfigurationBatchedStreamRequestConfigurationBatchedStreamResponse stream

    SubscribeBatchedConfigurationBatchedStreamRequestConfigurationBatchedStreamResponse stream

    SecurityProfileDiffService

    Method NameRequest TypeResponse TypeDescription
    GetOneSecurityProfileDiffRequestSecurityProfileDiffResponse

    GetSomeSecurityProfileDiffSomeRequestSecurityProfileDiffSomeResponse stream

    GetAllSecurityProfileDiffStreamRequestSecurityProfileDiffStreamResponse stream

    SubscribeSecurityProfileDiffStreamRequestSecurityProfileDiffStreamResponse stream

    GetMetaSecurityProfileDiffStreamRequestMetaResponse

    SubscribeMetaSecurityProfileDiffStreamRequestMetaResponse stream

    GetAllBatchedSecurityProfileDiffBatchedStreamRequestSecurityProfileDiffBatchedStreamResponse stream

    SubscribeBatchedSecurityProfileDiffBatchedStreamRequestSecurityProfileDiffBatchedStreamResponse stream

    SecurityProfileDiffSummaryService

    Method NameRequest TypeResponse TypeDescription
    GetOneSecurityProfileDiffSummaryRequestSecurityProfileDiffSummaryResponse

    GetSomeSecurityProfileDiffSummarySomeRequestSecurityProfileDiffSummarySomeResponse stream

    GetAllSecurityProfileDiffSummaryStreamRequestSecurityProfileDiffSummaryStreamResponse stream

    SubscribeSecurityProfileDiffSummaryStreamRequestSecurityProfileDiffSummaryStreamResponse stream

    GetMetaSecurityProfileDiffSummaryStreamRequestMetaResponse

    SubscribeMetaSecurityProfileDiffSummaryStreamRequestMetaResponse stream

    GetAllBatchedSecurityProfileDiffSummaryBatchedStreamRequestSecurityProfileDiffSummaryBatchedStreamResponse stream

    SubscribeBatchedSecurityProfileDiffSummaryBatchedStreamRequestSecurityProfileDiffSummaryBatchedStreamResponse stream

    SecurityProfileService

    Method NameRequest TypeResponse TypeDescription
    GetOneSecurityProfileRequestSecurityProfileResponse

    GetSomeSecurityProfileSomeRequestSecurityProfileSomeResponse stream

    GetAllSecurityProfileStreamRequestSecurityProfileStreamResponse stream

    SubscribeSecurityProfileStreamRequestSecurityProfileStreamResponse stream

    GetMetaSecurityProfileStreamRequestMetaResponse

    SubscribeMetaSecurityProfileStreamRequestMetaResponse stream

    GetAllBatchedSecurityProfileBatchedStreamRequestSecurityProfileBatchedStreamResponse stream

    SubscribeBatchedSecurityProfileBatchedStreamRequestSecurityProfileBatchedStreamResponse stream

    SummaryService

    Method NameRequest TypeResponse TypeDescription
    GetOneSummaryRequestSummaryResponse

    GetSomeSummarySomeRequestSummarySomeResponse stream

    GetAllSummaryStreamRequestSummaryStreamResponse stream

    SubscribeSummaryStreamRequestSummaryStreamResponse stream

    GetMetaSummaryStreamRequestMetaResponse

    SubscribeMetaSummaryStreamRequestMetaResponse stream

    GetAllBatchedSummaryBatchedStreamRequestSummaryBatchedStreamResponse stream

    SubscribeBatchedSummaryBatchedStreamRequestSummaryBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/connectivitymonitor.v1/index.html b/models/connectivitymonitor.v1/index.html index 21437320..56271d36 100644 --- a/models/connectivitymonitor.v1/index.html +++ b/models/connectivitymonitor.v1/index.html @@ -1,11 +1,11 @@ -connectivitymonitor.v1 :: Arista Networks FMP APIs -

    connectivitymonitor.v1

    Top

    arista/connectivitymonitor.v1/connectivitymonitor.proto

    Probe

    Probe is identifying information of a connectivity monitor probe. It is used to retrieve probe information without getting the corresponding stats so that probe information can be displayed without streaming all related data, such as in the UI.

    Field NameTypeDescription
    keyProbeKey

    key uniquely identifies the connectivity monitor probe.

    ip_addrgoogle.protobuf.StringValue

    ip_addr is the IP Address of the probe.

    host_namegoogle.protobuf.StringValue

    host_name is the name of the host of the probe.

    descriptiongoogle.protobuf.StringValue

    description is the description of the probe.

    ProbeKey

    ProbeKey uniquely identifies a connectivity monitor probe.

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    device_id is the id of the device in the probe.

    hostgoogle.protobuf.StringValue

    host is the hostname used in the probe.

    vrfgoogle.protobuf.StringValue

    vrf is the name of the VRF in the probe.

    ProbeStats

    ProbeStats is the connectivity monitor statistics related to the specified probe.

    Field NameTypeDescription
    keyProbeStatsKey

    key uniquely identifies the connectivity monitor probe.

    latency_millisgoogle.protobuf.DoubleValue

    latency_millis is the latency between the device interface and the host.

    Value is in milliseconds.

    jitter_millisgoogle.protobuf.DoubleValue

    jitter_millis is the amount of jitter experienced by requests

    between the device interface and host.

    Value is in milliseconds.

    http_response_time_millisgoogle.protobuf.DoubleValue

    http_response_time_millis is the amount of time taken to respond to a http

    request between the device interface and the host.

    Value is in milliseconds.

    packet_loss_percentgoogle.protobuf.Int64Value

    packet_loss_percent is the amount of packet loss experienced

    by requests between the device interface and host.

    Value is a percentage.

    errorgoogle.protobuf.StringValue

    error is the error reported on the connection.

    ProbeStatsKey

    ProbeStatsKey uniquely identifies a connectivity monitor probe’s statistics, per source interface.

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    device_id is the id of the device in the probe.

    hostgoogle.protobuf.StringValue

    host is the hostname used in the probe.

    vrfgoogle.protobuf.StringValue

    vrf is the name of the VRF in the probe.

    source_intfgoogle.protobuf.StringValue

    source_intf is the name of the interface in the probe.

    Top

    arista/connectivitymonitor.v1/services.gen.proto

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    ProbeBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterProbe[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Probe at end.

    * Each Probe response is fully-specified (all fields set).

    * start: Returns the state of each Probe at start, followed by updates until now.

    * Each Probe response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Probe at start, followed by updates

    until end.

    * Each Probe response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ProbeBatchedStreamResponse

    Field NameTypeDescription
    responsesProbeStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ProbeRequest

    Field NameTypeDescription
    keyProbeKey

    Key uniquely identifies a Probe instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ProbeResponse

    Field NameTypeDescription
    valueProbe

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Probe instance in this response.

    ProbeSomeRequest

    Field NameTypeDescription
    keysProbeKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ProbeSomeResponse

    Field NameTypeDescription
    valueProbe

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ProbeStatsBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterProbeStats[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ProbeStats at end.

    * Each ProbeStats response is fully-specified (all fields set).

    * start: Returns the state of each ProbeStats at start, followed by updates until now.

    * Each ProbeStats response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ProbeStats at start, followed by updates

    until end.

    * Each ProbeStats response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ProbeStatsBatchedStreamResponse

    Field NameTypeDescription
    responsesProbeStatsStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ProbeStatsRequest

    Field NameTypeDescription
    keyProbeStatsKey

    Key uniquely identifies a ProbeStats instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ProbeStatsResponse

    Field NameTypeDescription
    valueProbeStats

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ProbeStats instance in this response.

    ProbeStatsSomeRequest

    Field NameTypeDescription
    keysProbeStatsKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ProbeStatsSomeResponse

    Field NameTypeDescription
    valueProbeStats

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ProbeStatsStreamRequest

    Field NameTypeDescription
    partial_eq_filterProbeStats[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ProbeStats at end.

    * Each ProbeStats response is fully-specified (all fields set).

    * start: Returns the state of each ProbeStats at start, followed by updates until now.

    * Each ProbeStats response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ProbeStats at start, followed by updates

    until end.

    * Each ProbeStats response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ProbeStatsStreamResponse

    Field NameTypeDescription
    valueProbeStats

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ProbeStats’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ProbeStats value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ProbeStreamRequest

    Field NameTypeDescription
    partial_eq_filterProbe[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Probe at end.

    * Each Probe response is fully-specified (all fields set).

    * start: Returns the state of each Probe at start, followed by updates until now.

    * Each Probe response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Probe at start, followed by updates

    until end.

    * Each Probe response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ProbeStreamResponse

    Field NameTypeDescription
    valueProbe

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Probe’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Probe value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    ProbeService

    Method NameRequest TypeResponse TypeDescription
    GetOneProbeRequestProbeResponse

    GetSomeProbeSomeRequestProbeSomeResponse stream

    GetAllProbeStreamRequestProbeStreamResponse stream

    SubscribeProbeStreamRequestProbeStreamResponse stream

    GetMetaProbeStreamRequestMetaResponse

    SubscribeMetaProbeStreamRequestMetaResponse stream

    GetAllBatchedProbeBatchedStreamRequestProbeBatchedStreamResponse stream

    SubscribeBatchedProbeBatchedStreamRequestProbeBatchedStreamResponse stream

    ProbeStatsService

    Method NameRequest TypeResponse TypeDescription
    GetOneProbeStatsRequestProbeStatsResponse

    GetSomeProbeStatsSomeRequestProbeStatsSomeResponse stream

    GetAllProbeStatsStreamRequestProbeStatsStreamResponse stream

    SubscribeProbeStatsStreamRequestProbeStatsStreamResponse stream

    GetMetaProbeStatsStreamRequestMetaResponse

    SubscribeMetaProbeStatsStreamRequestMetaResponse stream

    GetAllBatchedProbeStatsBatchedStreamRequestProbeStatsBatchedStreamResponse stream

    SubscribeBatchedProbeStatsBatchedStreamRequestProbeStatsBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/dashboard.v1/index.html b/models/dashboard.v1/index.html index 6995a7ca..70b1e70d 100644 --- a/models/dashboard.v1/index.html +++ b/models/dashboard.v1/index.html @@ -1,10 +1,10 @@ -dashboard.v1 :: Arista Networks FMP APIs -

    dashboard.v1

    Top

    arista/dashboard.v1/dashboard.proto

    Dashboard

    Dashboard state contains all dashboard data.

    Field NameTypeDescription
    keyDashboardKey

    key is the unique identifier. It will always be defined.

    created_atgoogle.protobuf.Timestamp

    created_at represents the date the dashboard was first created.

    Old dashboards may not have this field set.

    created_bygoogle.protobuf.StringValue

    created_by keeps the name of the user who first created this dashboard.

    Old dashboards may not have this field set.

    last_modified_atgoogle.protobuf.Timestamp

    last_modified_at holds the timestamp this dashboard was last updated by an user.

    Old dashboards may not have this field set.

    last_modified_bygoogle.protobuf.StringValue

    last_modified_by holds the username who last updated this dashboard.

    Old dashboards may not have this field set.

    meta_dataDashboardMetadata

    meta_data includes version metadata about the dashboard.

    namegoogle.protobuf.StringValue

    name is the dashboard name, displayed at the top of the dashboard.

    descriptiongoogle.protobuf.StringValue

    description may include details about what is displayed in the dashboard.

    widgetsWidgets

    widgets list of widgets in the dashboard.

    DashboardConfig

    DashboardConfig includes all user-editable dashboard fields.

    Field NameTypeDescription
    keyDashboardKey

    key is the unique identifier. It always must be defined.

    If set, will create or update a dashboard.

    namegoogle.protobuf.StringValue

    name is the dashboard name, displayed at the top of the dashboard.

    descriptiongoogle.protobuf.StringValue

    description may include details about what is displayed in the dashboard.

    widgetsWidgets

    widgets list of widgets in the dashboard.

    DashboardKey

    DashboardKey represents the dashboard unique identifier.

    Field NameTypeDescription
    dashboard_idgoogle.protobuf.StringValue

    dashboard_id holds the id of the dashboard

    DashboardMetadata

    DashboardMetadata includes versioning metadata. All the data here is managed internally, and is read-only.

    Field NameTypeDescription
    schema_versiongoogle.protobuf.StringValue

    schema_version is managed internally.

    legacy_keygoogle.protobuf.StringValue

    legacy_key holds the key of a previous version of the dashboard, in case it was migrated.

    legacy_versiongoogle.protobuf.StringValue

    legacy_version tells from which version the dashboard was migrated from.

    from_packagegoogle.protobuf.StringValue

    from_package records the contributing package key and version, if applicable.

    Dimensions

    Dimensions represents the dimensions in cells of the widgets in the UI.

    Field NameTypeDescription
    widthgoogle.protobuf.UInt32Value

    width of the widget in the UI, represented in number of cells.

    heightgoogle.protobuf.UInt32Value

    height of the widget in the UI, represented in number of cells.

    Filter

    Filter is used to filter dashboards for non exact match cases.

    Field NameTypeDescription
    tagsfmp.RepeatedString

    tags includes the values to be matched in the dashboard description.

    Tags are matched by word. Generally, a tag is prefixed by a ‘#’,

    which must be omitted when provided here.

    All provided tags must match inside a dashboard for it to be returned.

    E.g., to match “#devices”, the tag should be set to “devices”.

    GlobalDashboardConfig

    GlobalDashboardConfig holds global configs related to Dashboards.

    Field NameTypeDescription
    default_dashboardDashboardKey

    default_dashboard is the default dashboard shown to a user.

    To unset, use an empty key ({dashboard_id: nil}) in a Set() call.

    Position

    Position represents a cell position in the UI.

    Field NameTypeDescription
    xgoogle.protobuf.UInt32Value

    x represents a position in the horizontal axis.

    ygoogle.protobuf.UInt32Value

    y represents a position in the vertical axis.

    Widget

    Widget is used to create a dashboard. Each widget is responsible to display some type of data.

    Field NameTypeDescription
    idgoogle.protobuf.StringValue

    id holds the unique identifier for the widget inside a dashboard

    namegoogle.protobuf.StringValue

    name of the widget is displayed at the top of the widget.

    positionPosition

    position of the widget, represented as a (x,y) coordinate in a grid.

    Top left is at (0,0).

    dimensionsDimensions

    dimensions of the widget represents how many cell in the grid it takes.

    typegoogle.protobuf.StringValue

    type is the widget type. Each type is handled differently in the UI,

    and can use different inputs.

    inputsgoogle.protobuf.StringValue

    inputs contains metadata about the data the widget will display, encoded in a JSON string.

    Internal data vary based on the widget type type and is managed by the client.

    locationgoogle.protobuf.StringValue

    location is used as a position display hint, used and managed by the UI.

    stylesWidgetStyles

    styles represents the widget’s panel appearance.

    parentgoogle.protobuf.StringValue

    parent stores the id of its parent widget.

    WidgetStyles

    WidgetStyles represents the widget’s panel appearance.

    Field NameTypeDescription
    hide_titlegoogle.protobuf.BoolValue

    hide_title is used to hint the dashboard that the widget title must be hidden.

    background_colorgoogle.protobuf.StringValue

    background_color is used to set the widget’s background color.

    hide_horizontal_bargoogle.protobuf.BoolValue

    hide_horizontal_bar is used to hint the dashboard that the title separator must be hidden.

    title_sizegoogle.protobuf.UInt32Value

    title_size is used to set widget’s title size.

    Widgets

    Widgets holds a list of Widgets.

    Field NameTypeDescription
    valuesWidget[…]

    values holds a list of widgets

    Top

    arista/dashboard.v1/services.gen.proto

    DashboardBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDashboard[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter[…]

    For each Dashboard in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given Dashboard is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Dashboard at end.

    * Each Dashboard response is fully-specified (all fields set).

    * start: Returns the state of each Dashboard at start, followed by updates until now.

    * Each Dashboard response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Dashboard at start, followed by updates

    until end.

    * Each Dashboard response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DashboardBatchedStreamResponse

    Field NameTypeDescription
    responsesDashboardStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DashboardConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDashboardConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DashboardConfig at end.

    * Each DashboardConfig response is fully-specified (all fields set).

    * start: Returns the state of each DashboardConfig at start, followed by updates until now.

    * Each DashboardConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DashboardConfig at start, followed by updates

    until end.

    * Each DashboardConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DashboardConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesDashboardConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DashboardConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterDashboardConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    DashboardConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyDashboardKey

    This is the key of the DashboardConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    DashboardConfigDeleteRequest

    Field NameTypeDescription
    keyDashboardKey

    Key indicates which DashboardConfig instance to remove.

    This field must always be set.

    DashboardConfigDeleteResponse

    Field NameTypeDescription
    keyDashboardKey

    Key echoes back the key of the deleted DashboardConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    DashboardConfigDeleteSomeRequest

    Field NameTypeDescription
    keysDashboardKey[…]

    key contains a list of DashboardConfig keys to delete

    DashboardConfigDeleteSomeResponse

    DashboardConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyDashboardKey

    errorstring

    DashboardConfigRequest

    Field NameTypeDescription
    keyDashboardKey

    Key uniquely identifies a DashboardConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DashboardConfigResponse

    Field NameTypeDescription
    valueDashboardConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DashboardConfig instance in this response.

    DashboardConfigSetRequest

    Field NameTypeDescription
    valueDashboardConfig

    DashboardConfig carries the value to set into the datastore.

    See the documentation on the DashboardConfig struct for which fields are required.

    DashboardConfigSetResponse

    Field NameTypeDescription
    valueDashboardConfig

    Value carries all the values given in the DashboardConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    DashboardConfigSetSomeRequest

    Field NameTypeDescription
    valuesDashboardConfig[…]

    value contains a list of DashboardConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    DashboardConfigSetSomeResponse

    Field NameTypeDescription
    keyDashboardKey

    errorstring

    DashboardConfigSomeRequest

    Field NameTypeDescription
    keysDashboardKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DashboardConfigSomeResponse

    Field NameTypeDescription
    valueDashboardConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DashboardConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterDashboardConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DashboardConfig at end.

    * Each DashboardConfig response is fully-specified (all fields set).

    * start: Returns the state of each DashboardConfig at start, followed by updates until now.

    * Each DashboardConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DashboardConfig at start, followed by updates

    until end.

    * Each DashboardConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DashboardConfigStreamResponse

    Field NameTypeDescription
    valueDashboardConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DashboardConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DashboardConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DashboardRequest

    Field NameTypeDescription
    keyDashboardKey

    Key uniquely identifies a Dashboard instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DashboardResponse

    Field NameTypeDescription
    valueDashboard

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Dashboard instance in this response.

    DashboardSomeRequest

    Field NameTypeDescription
    keysDashboardKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DashboardSomeResponse

    Field NameTypeDescription
    valueDashboard

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DashboardStreamRequest

    Field NameTypeDescription
    partial_eq_filterDashboard[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    filterFilter[…]

    For each Dashboard in the list, all populated fields are considered ANDed together

    as a filtering operation. Similarly, the list itself is ORed such that any individual

    filter that matches a given Dashboard is streamed to the user.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Dashboard at end.

    * Each Dashboard response is fully-specified (all fields set).

    * start: Returns the state of each Dashboard at start, followed by updates until now.

    * Each Dashboard response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Dashboard at start, followed by updates

    until end.

    * Each Dashboard response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DashboardStreamResponse

    Field NameTypeDescription
    valueDashboard

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Dashboard’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Dashboard value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    GlobalDashboardConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterGlobalDashboardConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each GlobalDashboardConfig at end.

    * Each GlobalDashboardConfig response is fully-specified (all fields set).

    * start: Returns the state of each GlobalDashboardConfig at start, followed by updates until now.

    * Each GlobalDashboardConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each GlobalDashboardConfig at start, followed by updates

    until end.

    * Each GlobalDashboardConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    GlobalDashboardConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesGlobalDashboardConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    GlobalDashboardConfigRequest

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    GlobalDashboardConfigResponse

    Field NameTypeDescription
    valueGlobalDashboardConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    GlobalDashboardConfig instance in this response.

    GlobalDashboardConfigSetRequest

    Field NameTypeDescription
    valueGlobalDashboardConfig

    GlobalDashboardConfig carries the value to set into the datastore.

    See the documentation on the GlobalDashboardConfig struct for which fields are required.

    GlobalDashboardConfigSetResponse

    Field NameTypeDescription
    valueGlobalDashboardConfig

    Value carries all the values given in the GlobalDashboardConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    GlobalDashboardConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterGlobalDashboardConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each GlobalDashboardConfig at end.

    * Each GlobalDashboardConfig response is fully-specified (all fields set).

    * start: Returns the state of each GlobalDashboardConfig at start, followed by updates until now.

    * Each GlobalDashboardConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each GlobalDashboardConfig at start, followed by updates

    until end.

    * Each GlobalDashboardConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    GlobalDashboardConfigStreamResponse

    Field NameTypeDescription
    valueGlobalDashboardConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this GlobalDashboardConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the GlobalDashboardConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    DashboardConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneDashboardConfigRequestDashboardConfigResponse

    GetSomeDashboardConfigSomeRequestDashboardConfigSomeResponse stream

    GetAllDashboardConfigStreamRequestDashboardConfigStreamResponse stream

    SubscribeDashboardConfigStreamRequestDashboardConfigStreamResponse stream

    GetMetaDashboardConfigStreamRequestMetaResponse

    SubscribeMetaDashboardConfigStreamRequestMetaResponse stream

    SetDashboardConfigSetRequestDashboardConfigSetResponse

    SetSomeDashboardConfigSetSomeRequestDashboardConfigSetSomeResponse stream

    DeleteDashboardConfigDeleteRequestDashboardConfigDeleteResponse

    DeleteSomeDashboardConfigDeleteSomeRequestDashboardConfigDeleteSomeResponse stream

    DeleteAllDashboardConfigDeleteAllRequestDashboardConfigDeleteAllResponse stream

    GetAllBatchedDashboardConfigBatchedStreamRequestDashboardConfigBatchedStreamResponse stream

    SubscribeBatchedDashboardConfigBatchedStreamRequestDashboardConfigBatchedStreamResponse stream

    DashboardService

    Method NameRequest TypeResponse TypeDescription
    GetOneDashboardRequestDashboardResponse

    GetSomeDashboardSomeRequestDashboardSomeResponse stream

    GetAllDashboardStreamRequestDashboardStreamResponse stream

    SubscribeDashboardStreamRequestDashboardStreamResponse stream

    GetMetaDashboardStreamRequestMetaResponse

    SubscribeMetaDashboardStreamRequestMetaResponse stream

    GetAllBatchedDashboardBatchedStreamRequestDashboardBatchedStreamResponse stream

    SubscribeBatchedDashboardBatchedStreamRequestDashboardBatchedStreamResponse stream

    GlobalDashboardConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneGlobalDashboardConfigRequestGlobalDashboardConfigResponse

    GetAllGlobalDashboardConfigStreamRequestGlobalDashboardConfigStreamResponse stream

    SubscribeGlobalDashboardConfigStreamRequestGlobalDashboardConfigStreamResponse stream

    SubscribeMetaGlobalDashboardConfigStreamRequestMetaResponse stream

    SetGlobalDashboardConfigSetRequestGlobalDashboardConfigSetResponse

    GetAllBatchedGlobalDashboardConfigBatchedStreamRequestGlobalDashboardConfigBatchedStreamResponse stream

    SubscribeBatchedGlobalDashboardConfigBatchedStreamRequestGlobalDashboardConfigBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/endpointlocation.v1/index.html b/models/endpointlocation.v1/index.html index 23d80b38..0ac3bfad 100644 --- a/models/endpointlocation.v1/index.html +++ b/models/endpointlocation.v1/index.html @@ -1,7 +1,7 @@ -endpointlocation.v1 :: Arista Networks FMP APIs -

    endpointlocation.v1

    Top

    arista/endpointlocation.v1/endpointlocation.proto

    Device

    Device holds information for a device matching a search term.

    Field NameTypeDescription
    identifier_listIdentifierList

    identifier_list holds the unique identifiers for the device.

    device_typeDeviceType

    device_type is the broad category of the device.

    location_listLocationList

    location_list is the list of possible locations of the device.

    It is ordered from most likely to least likely.

    device_statusDeviceStatus

    device_status is the network status of the device.

    device_infoDeviceInfo

    device_info holds various attributes of the device.

    DeviceInfo

    DeviceInfo holds various attributes of a device (typically an endpoint) from Fingerbank.

    Field NameTypeDescription
    device_namegoogle.protobuf.StringValue

    device_name is the name of the device.

    mobilegoogle.protobuf.BoolValue

    mobile indicates whether the device is a mobile.

    tabletgoogle.protobuf.BoolValue

    tablet indicates whether the device is a tablet.

    scoregoogle.protobuf.UInt32Value

    score is a value from 0 to 100 that indicates how confident we are

    that the device has device_name.

    Fingerbank API documentation of score: https://api.fingerbank.org/api_doc/2/combinations.html

    versiongoogle.protobuf.StringValue

    version is the version of device_name.

    mac_vendorgoogle.protobuf.StringValue

    mac_vendor is the enterprise that assigns the MAC address of the device.

    classificationgoogle.protobuf.StringValue

    classification is the broadest category to which device_name belongs.

    This is the highest level in hierarchy.

    hierarchyfmp.RepeatedString

    hierarchy is a list of categorizations of the device from most broad

    to most specific. The first element is always classification and the

    last element is always device_name.

    For example,

    [“VoIP Device”, “FooInc VoIP”, “FooInc PhoneSet IP”, “FooInc PhoneSet IP Model123”]

    In this hierarchy, “VoIP Device” is classification and “FooInc PhoneSet IP Model123”

    is device_name.

    DeviceMap

    DeviceMap is a collection of Device.

    Field NameTypeDescription
    valuesDeviceMap.ValuesEntry[…]

    values is a map from most specific identifier to Device.

    The key could be device serial number or MAC address.

    DeviceMap.ValuesEntry

    Field NameTypeDescription
    keystring

    valueDevice

    EndpointLocation

    EndpointLocation is the entrypoint to searching for @@ -11,4 +11,4 @@ Some explanations apply to queried endpoints while others apply to queried devices in the CloudVision device inventory.

    NameNumberDescription
    EXPLANATION_UNSPECIFIED0

    EXPLANATION_UNSPECIFIED is the default unspecified explanation.

    EXPLANATION_DIRECT_CONNECTION1

    EXPLANATION_DIRECT_CONNECTION indicates a direct connection to the queried

    endpoint device discovered via LLDP.

    EXPLANATION_NON_INVENTORY_CONNECTION2

    EXPLANATION_NON_INVENTORY_CONNECTION indicates a direct connection to at least

    one non-inventory device (likely discovered via LLDP).

    EXPLANATION_NO_CONNECTION3

    EXPLANATION_NO_CONNECTION indicates that a location has no direct connection to

    any known device.

    EXPLANATION_INVENTORY_CONNECTION4

    EXPLANATION_INVENTORY_CONNECTION indicates that all of a location’s known connections

    are to devices in the inventory.

    EXPLANATION_OWN_PORT_INVENTORY_DEVICE5

    EXPLANATION_OWN_PORT_INVENTORY_DEVICE indicates a location on the queried inventory

    device itself.

    EXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE6

    EXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE indicates a direct connection to the

    queried inventory device discovered via LLDP.

    EXPLANATION_NO_CONNECTION_INVENTORY_DEVICE7

    EXPLANATION_NO_CONNECTION_INVENTORY_DEVICE indicates that a location has no direct

    connection to any known device (for queried inventory devices).

    EXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE8

    EXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE indicates that a location only has

    connections to other devices besides the queried inventory device.

    EXPLANATION_VIRTUAL9

    EXPLANATION_VIRTUAL indicates that a location contains a virtual interface.

    EXPLANATION_WIRELESS_CONNECTION10

    EXPLANATION_WIRELESS_CONNECTION indicates a direct connection from a wireless access

    point in the device inventory to a wireless client.

    EXPLANATION_ACCESS_PORT11

    EXPLANATION_ACCESS_PORT indicates that a location is an access port.

    IdentifierSource

    IdentifierSource defines the set of network protocols and other information sources where an identifier was found.

    NameNumberDescription
    IDENTIFIER_SOURCE_UNSPECIFIED0

    IDENTIFIER_SOURCE_UNSPECIFIED is the default unspecified identifier source.

    IDENTIFIER_SOURCE_FDB1

    IDENTIFIER_SOURCE_FDB indicates a forwarding table.

    IDENTIFIER_SOURCE_ARP2

    IDENTIFIER_SOURCE_ARP indicates ARP (IPv4).

    IDENTIFIER_SOURCE_NEIGHBOR3

    IDENTIFIER_SOURCE_NEIGHBOR indicates NDP (IPv6).

    IDENTIFIER_SOURCE_DEVICE_INVENTORY4

    IDENTIFIER_SOURCE_DEVICE_INVENTORY indicates that an endpoint is in the

    CloudVision inventory.

    IDENTIFIER_SOURCE_LLDP5

    IDENTIFIER_SOURCE_LLDP indicates LLDP.

    IDENTIFIER_SOURCE_DHCP6

    IDENTIFIER_SOURCE_DHCP indicates DHCP.

    IDENTIFIER_SOURCE_WIFI7

    IDENTIFIER_SOURCE_WIFI indicates a WiFi endpoint that was learned through

    a wireless manager.

    IdentifierType

    IdentifierType defines the set of ways for identifying endpoints.

    NameNumberDescription
    IDENTIFIER_TYPE_UNSPECIFIED0

    IDENTIFIER_TYPE_UNSPECIFIED is the default unspecified identifier.

    IDENTIFIER_TYPE_MAC_ADDR1

    IDENTIFIER_TYPE_MAC_ADDR indicates a MAC address identifier.

    IDENTIFIER_TYPE_IPV4_ADDR2

    IDENTIFIER_TYPE_IPV4_ADDR indicates an IPv4 address identifier.

    IDENTIFIER_TYPE_IPV6_ADDR3

    IDENTIFIER_TYPE_IPV6_ADDR indicates an IPv6 address identifier.

    IDENTIFIER_TYPE_INVENTORY_DEVICE_ID4

    IDENTIFIER_TYPE_INVENTORY_DEVICE_ID indicates an inventory device identifier.

    IDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP5

    IDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP indicates a primary management IP identifier.

    IDENTIFIER_TYPE_HOSTNAME6

    IDENTIFIER_TYPE_HOSTNAME indicates a hostname identifier.

    IDENTIFIER_TYPE_USERNAME7

    IDENTIFIER_TYPE_USERNAME indicates a username identifier.

    IDENTIFIER_TYPE_OTHER99999

    IDENTIFIER_TYPE_OTHER is used for an unknown identifier.

    Likelihood

    Likelihood indicates a level of confidence.

    NameNumberDescription
    LIKELIHOOD_UNSPECIFIED0

    LIKELIHOOD_UNSPECIFIED is the default unspecified likelihood.

    LIKELIHOOD_VERY_LIKELY1

    LIKELIHOOD_VERY_LIKELY indicates very high confidence.

    LIKELIHOOD_LIKELY2

    LIKELIHOOD_LIKELY indicates high confidence.

    LIKELIHOOD_SOMEWHAT_LIKELY3

    LIKELIHOOD_SOMEWHAT_LIKELY indicates medium confidence.

    LIKELIHOOD_LESS_LIKELY4

    LIKELIHOOD_LESS_LIKELY indicates low confidence.

    MacType

    MacType describes how the MAC address was learned on the port location.

    NameNumberDescription
    MAC_TYPE_UNSPECIFIED0

    MAC_TYPE_UNSPECIFIED is the default unspecified MAC type.

    MAC_TYPE_LEARNED_DYNAMIC1

    MAC_TYPE_LEARNED_DYNAMIC indicates a MAC that is dynamically learned in hardware.

    MAC_TYPE_LEARNED_SECURE2

    MAC_TYPE_LEARNED_SECURE indicates a MAC that is learned in hardware on a port-security protect interface.

    MAC_TYPE_CONFIGURED_DYNAMIC3

    MAC_TYPE_CONFIGURED_DYNAMIC indicates a configured dynamic MAC.

    MAC_TYPE_CONFIGURED_SECURE4

    MAC_TYPE_CONFIGURED_SECURE indicates a MAC configured on an interface with Port Security: Protect mode enabled

    MAC_TYPE_CONFIGURED_STATIC5

    MAC_TYPE_CONFIGURED_STATIC indicates a statically configured MAC.

    MAC_TYPE_PEER_DYNAMIC6

    MAC_TYPE_PEER_DYNAMIC indicates a dynamically learned MAC discovered via an MLAG peer.

    MAC_TYPE_PEER_STATIC7

    MAC_TYPE_PEER_STATIC indicates a statically configured MAC discovered via an MLAG peer.

    MAC_TYPE_PEER_SECURE8

    MAC_TYPE_PEER_SECURE indicates a secure MAC learned from an MLAG peer.

    MAC_TYPE_LEARNED_REMOTE9

    MAC_TYPE_LEARNED_REMOTE indicates a MAC learned remotely behind a VxLAN VTEP.

    MAC_TYPE_CONFIGURED_REMOTE10

    MAC_TYPE_CONFIGURED_REMOTE indicates a MAC configured behind a VxLAN VTEP.

    MAC_TYPE_RECEIVED_REMOTE11

    MAC_TYPE_RECEIVED_REMOTE indicates a MAC received from a VxLAN controller.

    MAC_TYPE_PEER_LEARNED_REMOTE12

    MAC_TYPE_PEER_LEARNED_REMOTE indicates a remote MAC learned on a peer VTEP.

    MAC_TYPE_PEER_CONFIGURED_REMOTE13

    MAC_TYPE_PEER_CONFIGURED_REMOTE indicates an MLAG peer configured remote MAC.

    MAC_TYPE_PEER_RECEIVED_REMOTE14

    MAC_TYPE_PEER_RECEIVED_REMOTE indicates a remote MAC received from a VxLAN controller by the MLAG peer.

    MAC_TYPE_EVPN_DYNAMIC_REMOTE15

    MAC_TYPE_EVPN_DYNAMIC_REMOTE indicates an EVPN dynamic remote MAC.

    MAC_TYPE_EVPN_CONFIGURED_REMOTE16

    MAC_TYPE_EVPN_CONFIGURED_REMOTE indicates an EVPN configured remote MAC.

    MAC_TYPE_PEER_EVPN_REMOTE17

    MAC_TYPE_PEER_EVPN_REMOTE indicates an MLAG peer EVPN remote MAC.

    MAC_TYPE_CONFIGURED_ROUTER18

    MAC_TYPE_CONFIGURED_ROUTER indicates a configured MAC used in routing.

    MAC_TYPE_PEER_ROUTER19

    MAC_TYPE_PEER_ROUTER indicates an MLAG peer specific router MAC.

    MAC_TYPE_EVPN_INTF_DYNAMIC20

    MAC_TYPE_EVPN_INTF_DYNAMIC indicates a MAC advertised by EVPN when a dynamic MAC is learned on ESI (Ethernet Segment Identifier).

    MAC_TYPE_EVPN_INTF_STATIC21

    MAC_TYPE_EVPN_INTF_STATIC indicates a MAC configured on EVPN ESI.

    MAC_TYPE_AUTHENTICATED22

    MAC_TYPE_AUTHENTICATED indicates a MAC authenticated via 802.1X.

    MAC_TYPE_PEER_AUTHENTICATED23

    MAC_TYPE_PEER_AUTHENTICATED indicates a MAC authenticated by 802.1X and learned on an MLAG peer.

    MAC_TYPE_PENDING_SECURE24

    MAC_TYPE_PENDING_SECURE indicates a secure MAC in a pending state.

    MAC_TYPE_SOFTWARE_LEARNED_DYNAMIC25

    MAC_TYPE_SOFTWARE_LEARNED_DYNAMIC indicates a MAC learned behind VTEP in software in the case of a VxLAN remote MAC.

    MAC_TYPE_OTHER99999

    MAC_TYPE_OTHER is used for capturing future MAC types.

    Top

    arista/endpointlocation.v1/services.gen.proto

    EndpointLocationBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterEndpointLocation[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each EndpointLocation at end.

    * Each EndpointLocation response is fully-specified (all fields set).

    * start: Returns the state of each EndpointLocation at start, followed by updates until now.

    * Each EndpointLocation response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each EndpointLocation at start, followed by updates

    until end.

    * Each EndpointLocation response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    EndpointLocationBatchedStreamResponse

    Field NameTypeDescription
    responsesEndpointLocationStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    EndpointLocationRequest

    Field NameTypeDescription
    keyEndpointLocationKey

    Key uniquely identifies a EndpointLocation instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    EndpointLocationResponse

    Field NameTypeDescription
    valueEndpointLocation

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    EndpointLocation instance in this response.

    EndpointLocationSomeRequest

    Field NameTypeDescription
    keysEndpointLocationKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    EndpointLocationSomeResponse

    Field NameTypeDescription
    valueEndpointLocation

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    EndpointLocationStreamRequest

    Field NameTypeDescription
    partial_eq_filterEndpointLocation[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each EndpointLocation at end.

    * Each EndpointLocation response is fully-specified (all fields set).

    * start: Returns the state of each EndpointLocation at start, followed by updates until now.

    * Each EndpointLocation response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each EndpointLocation at start, followed by updates

    until end.

    * Each EndpointLocation response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    EndpointLocationStreamResponse

    Field NameTypeDescription
    valueEndpointLocation

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this EndpointLocation’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the EndpointLocation value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    EndpointLocationService

    Method NameRequest TypeResponse TypeDescription
    GetOneEndpointLocationRequestEndpointLocationResponse

    GetSomeEndpointLocationSomeRequestEndpointLocationSomeResponse stream

    GetAllEndpointLocationStreamRequestEndpointLocationStreamResponse stream

    SubscribeEndpointLocationStreamRequestEndpointLocationStreamResponse stream

    GetMetaEndpointLocationStreamRequestMetaResponse

    SubscribeMetaEndpointLocationStreamRequestMetaResponse stream

    GetAllBatchedEndpointLocationBatchedStreamRequestEndpointLocationBatchedStreamResponse stream

    SubscribeBatchedEndpointLocationBatchedStreamRequestEndpointLocationBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/event.v1/index.html b/models/event.v1/index.html index 8d8d7883..37f4b3a6 100644 --- a/models/event.v1/index.html +++ b/models/event.v1/index.html @@ -1,7 +1,7 @@ -event.v1 :: Arista Networks FMP APIs -

    event.v1

    Top

    arista/event.v1/event.proto

    Event

    Event is a telemetry event

    Field NameTypeDescription
    keyEventKey

    key is the event instance identifier

    severityEventSeverity

    severity is the severity of the event

    titlegoogle.protobuf.StringValue

    title is the title of the event

    descriptiongoogle.protobuf.StringValue

    description is the description of the event

    event_typegoogle.protobuf.StringValue

    event_type is the type of the event

    dataEventData

    data is the data of the event

    componentsEventComponents

    components is the components on which the event occurred

    ackEventAck

    ack is the acknowledgement status of the event

    notesEventNotes

    notes is the notes of the event

    last_updated_timegoogle.protobuf.Timestamp

    last_updated_time is the time of the most recent update to the event

    readEventRead

    read is the read status of the event

    rule_idgoogle.protobuf.StringValue

    rule_id is the label of the rule associated with the event

    EventAck

    EventAck contains acknowledgement information of an event

    Field NameTypeDescription
    ackgoogle.protobuf.BoolValue

    ack is the acknowledgement state of an event

    ackergoogle.protobuf.StringValue

    acker is the user that acknowledged the event

    ack_timegoogle.protobuf.Timestamp

    ack_time is the time of acknowledgement

    EventAnnotationConfig

    EventAnnotationConfig configures an event annotation

    NOTE: Either 1) key and ack or 2) key and notes or 3) key and read are @@ -11,4 +11,4 @@ to Set.

    Field NameTypeDescription
    notesEventNotesConfig.NotesEntry[…]

    notes is keyed by desired note time in Unix time, in milliseconds

    EventNotesConfig.NotesEntry

    Field NameTypeDescription
    keyint64

    valueEventNoteConfig

    EventRead

    EventRead contains read information of an event

    Field NameTypeDescription
    readgoogle.protobuf.BoolValue

    read is the read state of an event

    readergoogle.protobuf.StringValue

    reader is the user that read the event

    read_timegoogle.protobuf.Timestamp

    read_time is the time of read

    UserEventCreationConfig

    UserEventCreationConfig is the basis for the manual creation of new events.

    NOTE: Set is the only valid operation. Objects are immediately deleted upon event creation. All fields are required to create a well-formed event.

    Field NameTypeDescription
    keyUserEventCreationKey

    key is the event instance identifier

    severityEventSeverity

    severity is the severity of the event

    titlegoogle.protobuf.StringValue

    title is the title of the event

    descriptiongoogle.protobuf.StringValue

    description is the description of the event

    rule_idgoogle.protobuf.StringValue

    rule_id is the label of the rule associated with the event

    componentsEventComponents

    components is the components on which the event occurred

    start_timegoogle.protobuf.Timestamp

    start_time is the time point at which the event occurred

    UserEventCreationKey

    UserEventCreationKey uniquely identifies a user event request.

    Field NameTypeDescription
    keygoogle.protobuf.StringValue

    key is a unique string identifier

    ComponentType

    ComponentType describes the type of entity on which the event occurred

    NameNumberDescription
    COMPONENT_TYPE_UNSPECIFIED0

    COMPONENT_TYPE_UNSPECIFIED is the default value, if the type is not specified.

    COMPONENT_TYPE_DEVICE1

    COMPONENT_TYPE_DEVICE is used for device events.

    COMPONENT_TYPE_INTERFACE2

    COMPONENT_TYPE_INTERFACE is used for device interface events.

    COMPONENT_TYPE_TURBINE3

    COMPONENT_TYPE_TURBINE is used for events on the internal CVP turbine

    components. A turbine is an internal CV streaming analytics backend process.

    COMPONENT_TYPE_VDS4

    COMPONENT_TYPE_VDS is used for VDS events.

    A vSphere Distributed Switch provides centralized management and

    monitoring of the networking configuration of all workload servers that are

    associated with the switch.

    COMPONENT_TYPE_VDS_INTERFACE5

    COMPONENT_TYPE_VDS_INTERFACE is used for VDS interface events.

    COMPONENT_TYPE_VM6

    COMPONENT_TYPE_VM is used for VM events.

    A VM is a software computer that, like a physical computer, runs an

    operating system and applications.

    COMPONENT_TYPE_VM_INTERFACE7

    COMPONENT_TYPE_VM_INTERFACE is used for VM interface events.

    COMPONENT_TYPE_WORKLOAD_SERVER8

    COMPONENT_TYPE_WORKLOAD_SERVER is used for workload server events.

    A workload server is a server/data storage device on which the hypervisor is installed.

    COMPONENT_TYPE_WORKLOAD_SERVER_INTERFACE9

    COMPONENT_TYPE_WORKLOAD_SERVER_INTERFACE is used for workload server interface events.

    COMPONENT_TYPE_APPLICATION10

    COMPONENT_TYPE_APPLICATION is used for application-service events.

    COMPONENT_TYPE_CVP_NODE11

    COMPONENT_TYPE_CVP_NODE is used for CVP node events.

    EventSeverity

    EventSeverity is the severity level of the event

    NameNumberDescription
    EVENT_SEVERITY_UNSPECIFIED0

    EVENT_SEVERITY_UNSPECIFIED is the default value, if the severity is not specified.

    EVENT_SEVERITY_INFO1

    EVENT_SEVERITY_INFO is used for generally useful information.

    EVENT_SEVERITY_WARNING2

    EVENT_SEVERITY_WARNING is used for potentially harmful conditions.

    EVENT_SEVERITY_ERROR3

    EVENT_SEVERITY_ERROR is used for errors events that may allow for continued functioning.

    EVENT_SEVERITY_CRITICAL4

    EVENT_SEVERITY_CRITICAL is used to designate severe errors that impede functioning.

    EVENT_SEVERITY_DEBUG5

    EVENT_SEVERITY_DEBUG is used for debugging useful information.

    Top

    arista/event.v1/services.gen.proto

    EventAnnotationConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterEventAnnotationConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    EventAnnotationConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyEventKey

    This is the key of the EventAnnotationConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    EventAnnotationConfigDeleteRequest

    Field NameTypeDescription
    keyEventKey

    Key indicates which EventAnnotationConfig instance to remove.

    This field must always be set.

    EventAnnotationConfigDeleteResponse

    Field NameTypeDescription
    keyEventKey

    Key echoes back the key of the deleted EventAnnotationConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    EventAnnotationConfigDeleteSomeRequest

    Field NameTypeDescription
    keysEventKey[…]

    key contains a list of EventAnnotationConfig keys to delete

    EventAnnotationConfigDeleteSomeResponse

    EventAnnotationConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyEventKey

    errorstring

    EventAnnotationConfigRequest

    Field NameTypeDescription
    keyEventKey

    Key uniquely identifies a EventAnnotationConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    EventAnnotationConfigResponse

    Field NameTypeDescription
    valueEventAnnotationConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    EventAnnotationConfig instance in this response.

    EventAnnotationConfigSetRequest

    Field NameTypeDescription
    valueEventAnnotationConfig

    EventAnnotationConfig carries the value to set into the datastore.

    See the documentation on the EventAnnotationConfig struct for which fields are required.

    EventAnnotationConfigSetResponse

    Field NameTypeDescription
    valueEventAnnotationConfig

    Value carries all the values given in the EventAnnotationConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    EventAnnotationConfigSetSomeRequest

    Field NameTypeDescription
    valuesEventAnnotationConfig[…]

    value contains a list of EventAnnotationConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    EventAnnotationConfigSetSomeResponse

    Field NameTypeDescription
    keyEventKey

    errorstring

    EventAnnotationConfigSomeRequest

    Field NameTypeDescription
    keysEventKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    EventAnnotationConfigSomeResponse

    Field NameTypeDescription
    valueEventAnnotationConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    EventAnnotationConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterEventAnnotationConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each EventAnnotationConfig at end.

    * Each EventAnnotationConfig response is fully-specified (all fields set).

    * start: Returns the state of each EventAnnotationConfig at start, followed by updates until now.

    * Each EventAnnotationConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each EventAnnotationConfig at start, followed by updates

    until end.

    * Each EventAnnotationConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    EventAnnotationConfigStreamResponse

    Field NameTypeDescription
    valueEventAnnotationConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this EventAnnotationConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the EventAnnotationConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    EventRequest

    Field NameTypeDescription
    keyEventKey

    Key uniquely identifies a Event instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    EventResponse

    Field NameTypeDescription
    valueEvent

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Event instance in this response.

    EventSomeRequest

    Field NameTypeDescription
    keysEventKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    EventSomeResponse

    Field NameTypeDescription
    valueEvent

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    EventStreamRequest

    Field NameTypeDescription
    partial_eq_filterEvent[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Event at end.

    * Each Event response is fully-specified (all fields set).

    * start: Returns the state of each Event at start, followed by updates until now.

    * Each Event response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Event at start, followed by updates

    until end.

    * Each Event response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    EventStreamResponse

    Field NameTypeDescription
    valueEvent

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Event’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Event value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    UserEventCreationConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterUserEventCreationConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    UserEventCreationConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyUserEventCreationKey

    This is the key of the UserEventCreationConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    UserEventCreationConfigDeleteRequest

    Field NameTypeDescription
    keyUserEventCreationKey

    Key indicates which UserEventCreationConfig instance to remove.

    This field must always be set.

    UserEventCreationConfigDeleteResponse

    Field NameTypeDescription
    keyUserEventCreationKey

    Key echoes back the key of the deleted UserEventCreationConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    UserEventCreationConfigDeleteSomeRequest

    Field NameTypeDescription
    keysUserEventCreationKey[…]

    key contains a list of UserEventCreationConfig keys to delete

    UserEventCreationConfigDeleteSomeResponse

    UserEventCreationConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyUserEventCreationKey

    errorstring

    UserEventCreationConfigRequest

    Field NameTypeDescription
    keyUserEventCreationKey

    Key uniquely identifies a UserEventCreationConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    UserEventCreationConfigResponse

    Field NameTypeDescription
    valueUserEventCreationConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    UserEventCreationConfig instance in this response.

    UserEventCreationConfigSetRequest

    Field NameTypeDescription
    valueUserEventCreationConfig

    UserEventCreationConfig carries the value to set into the datastore.

    See the documentation on the UserEventCreationConfig struct for which fields are required.

    UserEventCreationConfigSetResponse

    Field NameTypeDescription
    valueUserEventCreationConfig

    Value carries all the values given in the UserEventCreationConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    UserEventCreationConfigSetSomeRequest

    Field NameTypeDescription
    valuesUserEventCreationConfig[…]

    value contains a list of UserEventCreationConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    UserEventCreationConfigSetSomeResponse

    Field NameTypeDescription
    keyUserEventCreationKey

    errorstring

    UserEventCreationConfigSomeRequest

    Field NameTypeDescription
    keysUserEventCreationKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    UserEventCreationConfigSomeResponse

    Field NameTypeDescription
    valueUserEventCreationConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    UserEventCreationConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterUserEventCreationConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each UserEventCreationConfig at end.

    * Each UserEventCreationConfig response is fully-specified (all fields set).

    * start: Returns the state of each UserEventCreationConfig at start, followed by updates until now.

    * Each UserEventCreationConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each UserEventCreationConfig at start, followed by updates

    until end.

    * Each UserEventCreationConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    UserEventCreationConfigStreamResponse

    Field NameTypeDescription
    valueUserEventCreationConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this UserEventCreationConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the UserEventCreationConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    EventAnnotationConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneEventAnnotationConfigRequestEventAnnotationConfigResponse

    GetSomeEventAnnotationConfigSomeRequestEventAnnotationConfigSomeResponse stream

    GetAllEventAnnotationConfigStreamRequestEventAnnotationConfigStreamResponse stream

    SubscribeEventAnnotationConfigStreamRequestEventAnnotationConfigStreamResponse stream

    GetMetaEventAnnotationConfigStreamRequestMetaResponse

    SubscribeMetaEventAnnotationConfigStreamRequestMetaResponse stream

    SetEventAnnotationConfigSetRequestEventAnnotationConfigSetResponse

    SetSomeEventAnnotationConfigSetSomeRequestEventAnnotationConfigSetSomeResponse stream

    DeleteEventAnnotationConfigDeleteRequestEventAnnotationConfigDeleteResponse

    DeleteSomeEventAnnotationConfigDeleteSomeRequestEventAnnotationConfigDeleteSomeResponse stream

    DeleteAllEventAnnotationConfigDeleteAllRequestEventAnnotationConfigDeleteAllResponse stream

    EventService

    Method NameRequest TypeResponse TypeDescription
    GetOneEventRequestEventResponse

    GetSomeEventSomeRequestEventSomeResponse stream

    GetAllEventStreamRequestEventStreamResponse stream

    SubscribeEventStreamRequestEventStreamResponse stream

    GetMetaEventStreamRequestMetaResponse

    SubscribeMetaEventStreamRequestMetaResponse stream

    UserEventCreationConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneUserEventCreationConfigRequestUserEventCreationConfigResponse

    GetSomeUserEventCreationConfigSomeRequestUserEventCreationConfigSomeResponse stream

    GetAllUserEventCreationConfigStreamRequestUserEventCreationConfigStreamResponse stream

    SubscribeUserEventCreationConfigStreamRequestUserEventCreationConfigStreamResponse stream

    GetMetaUserEventCreationConfigStreamRequestMetaResponse

    SubscribeMetaUserEventCreationConfigStreamRequestMetaResponse stream

    SetUserEventCreationConfigSetRequestUserEventCreationConfigSetResponse

    SetSomeUserEventCreationConfigSetSomeRequestUserEventCreationConfigSetSomeResponse stream

    DeleteUserEventCreationConfigDeleteRequestUserEventCreationConfigDeleteResponse

    DeleteSomeUserEventCreationConfigDeleteSomeRequestUserEventCreationConfigDeleteSomeResponse stream

    DeleteAllUserEventCreationConfigDeleteAllRequestUserEventCreationConfigDeleteAllResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/identityprovider.v1/index.html b/models/identityprovider.v1/index.html index e29caec4..d6c2230c 100644 --- a/models/identityprovider.v1/index.html +++ b/models/identityprovider.v1/index.html @@ -1,8 +1,8 @@ -identityprovider.v1 :: Arista Networks FMP APIs -

    identityprovider.v1

    Top

    arista/identityprovider.v1/identityprovider.proto

    OAuthConfig

    OAuthConfig holds the configuration for an OAuth provider.

    Field NameTypeDescription
    keyOAuthKey

    key is the ID of the OAuth provider.

    endpointgoogle.protobuf.StringValue

    endpoint is the URL that identifies an OAuth authorization server.

    This endpoint is used to interact with the provider. It must be a

    URI [RFC3986] with a scheme component that must be https, a host component,

    and optionally, port and path components, but no query or fragment components.

    client_idgoogle.protobuf.StringValue

    client_id is the ID that the OAuth authorization server issues to the

    registered client.

    client_secretgoogle.protobuf.StringValue

    client_secret is the secret that the OAuth authorization server issues

    to the registered client.

    algorithmsfmp.RepeatedString

    algorithms is the set of signing algorithms. This is an optional field.

    If specified, only this set of algorithms may be used to sign the JWT.

    Otherwise, this defaults to the set of algorithms that the provider supports.

    link_to_shared_providergoogle.protobuf.BoolValue

    link_to_shared_provider indicates whether or not use the provider as a shared

    provider. This is an optional field and set to false by default.

    jwks_urigoogle.protobuf.StringValue

    jwks_uri is where signing keys are downloaded. This is an optional field.

    Only needed if the default construction from endpoint would be incorrect.

    permitted_email_domainsfmp.RepeatedString

    permitted_email_domains are domains of emails that users are allowed to use.

    This is an optional field. If not set, all domains are accepted by default.

    roles_scope_namegoogle.protobuf.StringValue

    roles_scope_name is the name for a scope tied to a claim that holds

    CloudVision roles in ID Token. CloudVision uses scope values to specify

    what access privileges are being requested for id token. CloudVision

    appends this value to scope query parameter in the authorization request URL.

    This is an optional field. If not set, CloudVision determines that

    mapping roles from the provider is disabled. If it’s set, roles_claim_name

    also needs to be set.

    bearer_token_introspection_endpointgoogle.protobuf.StringValue

    bearer_token_introspection_endpoint is the provider instrospection endpoint used

    in Bearer Token based login support for CloudVision. This is an optional field.

    If specified, this endpoint will be used to verify bearer tokens generated via

    the provider to log in automated user accounts.

    roles_claim_namegoogle.protobuf.StringValue

    roles_claim_name is the name for a claim that holds CloudVision roles in ID Token.

    CloudVision uses this value to look up roles in the ID Token.

    This is an optional field. If not set, CloudVision determines that

    mapping roles from the provider is disabled. If it’s set, roles_scope_name

    also needs to be set.

    OAuthKey

    OAuthKey contains OAuth provider ID.

    Field NameTypeDescription
    provider_idgoogle.protobuf.StringValue

    provider_id is the ID of the OAuth provider.

    SAMLConfig

    SAMLConfig holds the configuration for a SAML provider.

    Field NameTypeDescription
    keySAMLKey

    key is the ID of the SAML provider.

    idp_issuergoogle.protobuf.StringValue

    idp_issuer identifies the SAML provider. There is no restriction on its format

    other than a string to carry the issuer’s name.

    idp_metadata_urlgoogle.protobuf.StringValue

    idp_metadata_url is the URL that CloudVision uses to fetch the

    SAML provider metadata.

    authreq_bindingProtocolBinding

    authreq_binding specifies the ProtocolBinding used to send SAML authentication

    request to the SAML provider.

    email_attrnamegoogle.protobuf.StringValue

    email_attrname specifies the Attribute name for email ID in Assertion of SAMLResponse

    from the SAML provider.

    link_to_shared_providergoogle.protobuf.BoolValue

    link_to_shared_provider indicates whether or not use the provider as a shared

    provider. This is an optional field and set to false by default.

    permitted_email_domainsfmp.RepeatedString

    permitted_email_domains are domains of emails that users are allowed to use.

    This is an optional field. If not set, all domains are accepted by default.

    force_saml_authngoogle.protobuf.BoolValue

    force_saml_authn indicates wether or not enable force authentication in SAML login.

    This is an optional field. If not set, it defaults to false.

    roles_attrnamegoogle.protobuf.StringValue

    roles_attrname specifies the Attribute name for CloudVision roles in the Assertion

    of SAMLResponse. This is an optional field. If not set, CloudVision determines that

    mapping roles from the provider is disabled.

    org_attrnamegoogle.protobuf.StringValue

    org_attrname specifies the Attribute name for CloudVision organization/tenant in

    the Assertion of SAMLResponse. This is an optional field. CloudVision supports use

    of certain shared SAML Identity Providers for authenticating users across multiple

    CloudVision organizations/tenants. In case a given organization uses a shared provider,

    then, CloudVision needs this attribute to determine if the organization that

    the shared SAML Identity Provider is sending the assertion for is the same as the

    one the user requested to be logged into. For an existing user on CloudVision,

    the user’s email is used to determine which organization the user belongs to do

    the same verification but in case a dynamic user creation is needed and the given

    user doesn’t exist on CloudVision currently then the matching organization attribute

    from the shared Identity Privder becomes necessary. Dynamic user creation is

    disabled for a given organization using shared Identity Provider if this attribute

    is not specified.

    username_attrnamegoogle.protobuf.StringValue

    username_attrname specifies Attribute name for CloudVision users’ username in the

    Assertion of SAMLResponse. This is an optional field as long as mapping roles from

    provider is not enabled. Once enabled, this field becomes mandatory.

    SAMLKey

    SAMLKey contains SAML Provider ID.

    Field NameTypeDescription
    provider_idgoogle.protobuf.StringValue

    provider_id is the ID of the SAML provider.

    ProtocolBinding

    ProtocolBinding indicates SAML protocol binding to be used.

    NameNumberDescription
    PROTOCOL_BINDING_UNSPECIFIED0

    PROTOCOL_BINDING_UNSPECIFIED indicates that a protocol binding is unspecified.

    PROTOCOL_BINDING_HTTP_POST1

    PROTOCOL_BINDING_HTTP_POST indicates HTTP-POST SAML protocol binding.

    PROTOCOL_BINDING_HTTP_REDIRECT2

    PROTOCOL_BINDING_HTTP_REDIRECT indicates HTTP-Redirect SAML protocol binding.

    Top

    arista/identityprovider.v1/services.gen.proto

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    OAuthConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterOAuthConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each OAuthConfig at end.

    * Each OAuthConfig response is fully-specified (all fields set).

    * start: Returns the state of each OAuthConfig at start, followed by updates until now.

    * Each OAuthConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each OAuthConfig at start, followed by updates

    until end.

    * Each OAuthConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    OAuthConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesOAuthConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    OAuthConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterOAuthConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    OAuthConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyOAuthKey

    This is the key of the OAuthConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    OAuthConfigDeleteRequest

    Field NameTypeDescription
    keyOAuthKey

    Key indicates which OAuthConfig instance to remove.

    This field must always be set.

    OAuthConfigDeleteResponse

    Field NameTypeDescription
    keyOAuthKey

    Key echoes back the key of the deleted OAuthConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    OAuthConfigDeleteSomeRequest

    Field NameTypeDescription
    keysOAuthKey[…]

    key contains a list of OAuthConfig keys to delete

    OAuthConfigDeleteSomeResponse

    OAuthConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyOAuthKey

    errorstring

    OAuthConfigRequest

    Field NameTypeDescription
    keyOAuthKey

    Key uniquely identifies a OAuthConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    OAuthConfigResponse

    Field NameTypeDescription
    valueOAuthConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    OAuthConfig instance in this response.

    OAuthConfigSetRequest

    Field NameTypeDescription
    valueOAuthConfig

    OAuthConfig carries the value to set into the datastore.

    See the documentation on the OAuthConfig struct for which fields are required.

    OAuthConfigSetResponse

    Field NameTypeDescription
    valueOAuthConfig

    Value carries all the values given in the OAuthConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    OAuthConfigSetSomeRequest

    Field NameTypeDescription
    valuesOAuthConfig[…]

    value contains a list of OAuthConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    OAuthConfigSetSomeResponse

    Field NameTypeDescription
    keyOAuthKey

    errorstring

    OAuthConfigSomeRequest

    Field NameTypeDescription
    keysOAuthKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    OAuthConfigSomeResponse

    Field NameTypeDescription
    valueOAuthConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    OAuthConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterOAuthConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each OAuthConfig at end.

    * Each OAuthConfig response is fully-specified (all fields set).

    * start: Returns the state of each OAuthConfig at start, followed by updates until now.

    * Each OAuthConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each OAuthConfig at start, followed by updates

    until end.

    * Each OAuthConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    OAuthConfigStreamResponse

    Field NameTypeDescription
    valueOAuthConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this OAuthConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the OAuthConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    SAMLConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSAMLConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SAMLConfig at end.

    * Each SAMLConfig response is fully-specified (all fields set).

    * start: Returns the state of each SAMLConfig at start, followed by updates until now.

    * Each SAMLConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SAMLConfig at start, followed by updates

    until end.

    * Each SAMLConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SAMLConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesSAMLConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SAMLConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterSAMLConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    SAMLConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keySAMLKey

    This is the key of the SAMLConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    SAMLConfigDeleteRequest

    Field NameTypeDescription
    keySAMLKey

    Key indicates which SAMLConfig instance to remove.

    This field must always be set.

    SAMLConfigDeleteResponse

    Field NameTypeDescription
    keySAMLKey

    Key echoes back the key of the deleted SAMLConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    SAMLConfigDeleteSomeRequest

    Field NameTypeDescription
    keysSAMLKey[…]

    key contains a list of SAMLConfig keys to delete

    SAMLConfigDeleteSomeResponse

    SAMLConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keySAMLKey

    errorstring

    SAMLConfigRequest

    Field NameTypeDescription
    keySAMLKey

    Key uniquely identifies a SAMLConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SAMLConfigResponse

    Field NameTypeDescription
    valueSAMLConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    SAMLConfig instance in this response.

    SAMLConfigSetRequest

    Field NameTypeDescription
    valueSAMLConfig

    SAMLConfig carries the value to set into the datastore.

    See the documentation on the SAMLConfig struct for which fields are required.

    SAMLConfigSetResponse

    Field NameTypeDescription
    valueSAMLConfig

    Value carries all the values given in the SAMLConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    SAMLConfigSetSomeRequest

    Field NameTypeDescription
    valuesSAMLConfig[…]

    value contains a list of SAMLConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    SAMLConfigSetSomeResponse

    Field NameTypeDescription
    keySAMLKey

    errorstring

    SAMLConfigSomeRequest

    Field NameTypeDescription
    keysSAMLKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SAMLConfigSomeResponse

    Field NameTypeDescription
    valueSAMLConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SAMLConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterSAMLConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SAMLConfig at end.

    * Each SAMLConfig response is fully-specified (all fields set).

    * start: Returns the state of each SAMLConfig at start, followed by updates until now.

    * Each SAMLConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SAMLConfig at start, followed by updates

    until end.

    * Each SAMLConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SAMLConfigStreamResponse

    Field NameTypeDescription
    valueSAMLConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this SAMLConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the SAMLConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    OAuthConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneOAuthConfigRequestOAuthConfigResponse

    GetSomeOAuthConfigSomeRequestOAuthConfigSomeResponse stream

    GetAllOAuthConfigStreamRequestOAuthConfigStreamResponse stream

    SubscribeOAuthConfigStreamRequestOAuthConfigStreamResponse stream

    GetMetaOAuthConfigStreamRequestMetaResponse

    SubscribeMetaOAuthConfigStreamRequestMetaResponse stream

    SetOAuthConfigSetRequestOAuthConfigSetResponse

    SetSomeOAuthConfigSetSomeRequestOAuthConfigSetSomeResponse stream

    DeleteOAuthConfigDeleteRequestOAuthConfigDeleteResponse

    DeleteSomeOAuthConfigDeleteSomeRequestOAuthConfigDeleteSomeResponse stream

    DeleteAllOAuthConfigDeleteAllRequestOAuthConfigDeleteAllResponse stream

    GetAllBatchedOAuthConfigBatchedStreamRequestOAuthConfigBatchedStreamResponse stream

    SubscribeBatchedOAuthConfigBatchedStreamRequestOAuthConfigBatchedStreamResponse stream

    SAMLConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneSAMLConfigRequestSAMLConfigResponse

    GetSomeSAMLConfigSomeRequestSAMLConfigSomeResponse stream

    GetAllSAMLConfigStreamRequestSAMLConfigStreamResponse stream

    SubscribeSAMLConfigStreamRequestSAMLConfigStreamResponse stream

    GetMetaSAMLConfigStreamRequestMetaResponse

    SubscribeMetaSAMLConfigStreamRequestMetaResponse stream

    SetSAMLConfigSetRequestSAMLConfigSetResponse

    SetSomeSAMLConfigSetSomeRequestSAMLConfigSetSomeResponse stream

    DeleteSAMLConfigDeleteRequestSAMLConfigDeleteResponse

    DeleteSomeSAMLConfigDeleteSomeRequestSAMLConfigDeleteSomeResponse stream

    DeleteAllSAMLConfigDeleteAllRequestSAMLConfigDeleteAllResponse stream

    GetAllBatchedSAMLConfigBatchedStreamRequestSAMLConfigBatchedStreamResponse stream

    SubscribeBatchedSAMLConfigBatchedStreamRequestSAMLConfigBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/imagestatus.v1/index.html b/models/imagestatus.v1/index.html index c49208c2..feb89548 100644 --- a/models/imagestatus.v1/index.html +++ b/models/imagestatus.v1/index.html @@ -1,17 +1,17 @@ -imagestatus.v1 :: Arista Networks FMP APIs -

    imagestatus.v1

    Top

    arista/imagestatus.v1/imagestatus.proto

    ComplianceStatus

    ComplianceStatus indicates compliance status for software image, terminattr and extensions.

    Field NameTypeDescription
    software_image_compliance_codeSoftwareComplianceCode

    software_image_compliance_code is the compliance code for images.

    terminattr_compliance_codeSoftwareComplianceCode

    terminattr_compliance_code is the compliance code for TerminAttr.

    extensions_compliance_codeSoftwareComplianceCode

    extensions_compliance_code is the compliance code for extensions.

    ComplianceStatusBySup

    ComplianceStatusBySup is a map that indicates the compliance code for each supervisor.

    Field NameTypeDescription
    valuesComplianceStatusBySup.ValuesEntry[…]

    values is the mapping of supervisor type to compliance code.

    ComplianceStatusBySup.ValuesEntry

    Field NameTypeDescription
    keystring

    valueComplianceStatus

    Extension

    Extension provides information of the running/designed extensions.

    Field NameTypeDescription
    namegoogle.protobuf.StringValue

    name is the name of the extension.

    versiongoogle.protobuf.StringValue

    version is the version of the extension.

    reboot_requiredgoogle.protobuf.BoolValue

    reboot_required indicates whether applying/deleting this extension

    would result in a reboot.

    presentgoogle.protobuf.BoolValue

    present indicates whether the extension is present in the device

    or not.

    installedExtensionInstallStatus

    installed indicates whether the extension is installed, not

    installed or force installed.

    status_detailgoogle.protobuf.StringValue

    status_detail gives the details behind installation of the extension.

    is_embeddedgoogle.protobuf.BoolValue

    is_embedded indicates whether the extension is embedded in the EOS swi

    or not.

    ExtensionDiff

    ExtensionDiff is the diff for the running/designed extensions.

    Field NameTypeDescription
    codeDiffOp

    code indicates the operation performed to get from one side of the diff

    to the other.

    aExtension

    a is the extension on the a side (left hand side).

    bExtension

    b is the extension on the b side (right hand side).

    ExtensionDiffs

    ExtensionDiffs is a list of extension diff information in the order they will be applied.

    Field NameTypeDescription
    valuesExtensionDiff[…]

    values is an ordered list of extension diffs applied to the device.

    ExtensionDiffsBySup

    ExtensionDiffsBySup is the extension diff information for each supervisor.

    Field NameTypeDescription
    valuesExtensionDiffsBySup.ValuesEntry[…]

    values is the mapping of supervisor type to extension diff.

    ExtensionDiffsBySup.ValuesEntry

    Field NameTypeDescription
    keystring

    valueExtensionDiffs

    Extensions

    Extensions provides an ordered list of running/designed extensions.

    Field NameTypeDescription
    valuesExtension[…]

    values represents extension information.

    ImageError

    ImageError wraps ErrorCode enum with a reason string.

    Field NameTypeDescription
    skugoogle.protobuf.StringValue

    sku represents the name of the sku.

    error_codeErrorCode

    error_code is the error code.

    error_msggoogle.protobuf.StringValue

    error_msg provides a description of the error.

    ImageErrors

    ImageErrors is the list of errors reported by CVP when handling image -validations.

    Field NameTypeDescription
    valuesImageError[…]

    values is a list of image errors.

    ImageMetadata

    ImageMetadata provides information regarding the software image.

    Field NameTypeDescription
    versiongoogle.protobuf.StringValue

    version is the version of the EOS image.

    releasegoogle.protobuf.StringValue

    release is the release name of the EOS image.

    flavorgoogle.protobuf.StringValue

    flavor is the flavor information of the EOS image.

    default flavor is DEFAULT. Other flavors can be DPE, 2GB, etc.

    variantgoogle.protobuf.StringValue

    variant is the variant information of the EOS image.

    possible values: INT or US.

    archgoogle.protobuf.StringValue

    arch is the architecture of the EOS image.

    ImageSummary

    ImageSummary represents device image summary.

    Field NameTypeDescription
    skugoogle.protobuf.StringValue

    sku indicates the top-level sku or model number.

    running_image_update_timegoogle.protobuf.Timestamp

    running_image_update_time is the most recent timestamp at which one of

    running image side properties is updated.

    designed_image_update_timegoogle.protobuf.Timestamp

    designed_image_update_time is the most recent timestamp at which one of

    designed image side properties is updated.

    dual_supgoogle.protobuf.BoolValue

    dual_sup indicates if a device is a dual supervisor.

    active_slotgoogle.protobuf.Int32Value

    active_slot indicates the physical slot number for the the active

    supervisor.

    standby_slotgoogle.protobuf.Int32Value

    standby_slot indicates the physical slot number for the standby

    supervisor.

    software_image_diffSoftwareImageDiffsBySup

    software_image_diff indicates the image diff for each supervisor.

    terminattr_diffTerminAttrDiffsBySup

    terminattr_diff indicates the terminattr diff for each supervisor.

    extensions_diffExtensionDiffsBySup

    extensions_diff indicates the extension diff for each supervisor.

    compliance_statusSoftwareComplianceCode

    compliance_status is the aggregated compliance status (including both

    active/standby and image/TA/extension compliance).

    complianceComplianceStatusBySup

    compliance provides compliance information for each supervisor.

    reboot_requiredRebootRequired

    reboot_required indicates whether a reboot is required if the designed

    image is pushed to the device.

    digestgoogle.protobuf.StringValue

    digest is the digest of the image summary. It can use SHA-256 hash

    algorithm for example. It is computed by stringifying the

    software_image_diff, terminattr_diff and extensions_diff and computing the

    hash.

    ImageWarning

    ImageWarning wraps WarningCode enum with a reason string.

    Field NameTypeDescription
    skugoogle.protobuf.StringValue

    sku represents the name of the sku.

    warning_codeWarningCode

    warning_code is the warning code.

    warning_msggoogle.protobuf.StringValue

    warning_msg provides a description of the warning.

    ImageWarnings

    ImageWarnings is the list of warnings reported by CVP when handling image +validations.

    Field NameTypeDescription
    valuesImageError[…]

    values is a list of image errors.

    ImageInfo

    ImageInfo wraps InfoCode enum with a reason string.

    Field NameTypeDescription
    skugoogle.protobuf.StringValue

    sku represents the name of the sku.

    info_codeInfoCode

    info_code is the info code.

    info_msggoogle.protobuf.StringValue

    info_msg provides a description of the info.

    ImageInfos

    ImageInfos is the list of info messages reported by CVP when handling image validations.

    Field NameTypeDescription
    valuesImageInfo[…]

    values is a list of image infos.

    ImageMetadata

    ImageMetadata provides information regarding the software image.

    Field NameTypeDescription
    versiongoogle.protobuf.StringValue

    version is the version of the EOS image.

    releasegoogle.protobuf.StringValue

    release is the release name of the EOS image.

    flavorgoogle.protobuf.StringValue

    flavor is the flavor information of the EOS image.

    default flavor is DEFAULT. Other flavors can be DPE, 2GB, etc.

    variantgoogle.protobuf.StringValue

    variant is the variant information of the EOS image.

    possible values: INT or US.

    archgoogle.protobuf.StringValue

    arch is the architecture of the EOS image.

    ImageSummary

    ImageSummary represents device image summary.

    Field NameTypeDescription
    skugoogle.protobuf.StringValue

    sku indicates the top-level sku or model number.

    running_image_update_timegoogle.protobuf.Timestamp

    running_image_update_time is the most recent timestamp at which one of

    running image side properties is updated.

    designed_image_update_timegoogle.protobuf.Timestamp

    designed_image_update_time is the most recent timestamp at which one of

    designed image side properties is updated.

    dual_supgoogle.protobuf.BoolValue

    dual_sup indicates if a device is a dual supervisor.

    active_slotgoogle.protobuf.Int32Value

    active_slot indicates the physical slot number for the the active

    supervisor.

    standby_slotgoogle.protobuf.Int32Value

    standby_slot indicates the physical slot number for the standby

    supervisor.

    software_image_diffSoftwareImageDiffsBySup

    software_image_diff indicates the image diff for each supervisor.

    terminattr_diffTerminAttrDiffsBySup

    terminattr_diff indicates the terminattr diff for each supervisor.

    extensions_diffExtensionDiffsBySup

    extensions_diff indicates the extension diff for each supervisor.

    compliance_statusSoftwareComplianceCode

    compliance_status is the aggregated compliance status (including both

    active/standby and image/TA/extension compliance).

    complianceComplianceStatusBySup

    compliance provides compliance information for each supervisor.

    reboot_requiredRebootRequired

    reboot_required indicates whether a reboot is required if the designed

    image is pushed to the device.

    digestgoogle.protobuf.StringValue

    digest is the digest of the image summary. It can use SHA-256 hash

    algorithm for example. It is computed by stringifying the

    software_image_diff, terminattr_diff and extensions_diff and computing the

    hash.

    ImageWarning

    ImageWarning wraps WarningCode enum with a reason string.

    Field NameTypeDescription
    skugoogle.protobuf.StringValue

    sku represents the name of the sku.

    warning_codeWarningCode

    warning_code is the warning code.

    warning_msggoogle.protobuf.StringValue

    warning_msg provides a description of the warning.

    ImageWarnings

    ImageWarnings is the list of warnings reported by CVP when handling image validations.

    Field NameTypeDescription
    valuesImageWarning[…]

    values is a list of image warnings.

    RebootRequired

    RebootRequired indicates the reboot information per software image, terminattr and extension for the switch as a whole.

    Field NameTypeDescription
    software_image_reboot_requiredgoogle.protobuf.BoolValue

    software_image_reboot_required indicates whether reboot is required

    for the software image being applied.

    terminattr_reboot_requiredgoogle.protobuf.BoolValue

    terminattr_reboot_required indicates whether reboot is required

    for the terminattr being applied/deleted.

    extension_reboot_requiredgoogle.protobuf.BoolValue

    extension_reboot_required indicates whether reboot is required

    for the extensions being applied/deleted.

    SoftwareImage

    SoftwareImage provides information of the running/designed EOS image.

    Field NameTypeDescription
    namegoogle.protobuf.StringValue

    name is the name of the EOS image.

    versiongoogle.protobuf.StringValue

    version is the version of the EOS image.

    metadataImageMetadata

    metadata is the metadata of EOS image.

    SoftwareImageDiff

    SoftwareImageDiff is the diff for the running/designed images.

    Field NameTypeDescription
    codeDiffOp

    code indicates the operation performed to get from one side of the diff

    to the other.

    aSoftwareImage

    a is the software image on the a side (left hand side).

    bSoftwareImage

    b is the software image on the b side (right hand side).

    SoftwareImageDiffsBySup

    SoftwareImageDiffsBySup is software image diff information for each -supervisor.

    Field NameTypeDescription
    valuesSoftwareImageDiffsBySup.ValuesEntry[…]

    values is the mapping of supervisor type to image diff.

    SoftwareImageDiffsBySup.ValuesEntry

    Field NameTypeDescription
    keystring

    valueSoftwareImageDiff

    Summary

    Summary represents the device image summary.

    Field NameTypeDescription
    keySummaryKey

    key represents the image summary key.

    summaryImageSummary

    summary is the image diff summary.

    errorsImageErrors

    errors are the image errors encountered while validating the image. These are

    displayed on the change control review page (for changes made outside the workspace).

    warningsImageWarnings

    warnings are the image warnings encountered while validating the image. These are

    displayed on the change control review page (for changes made outside the workspace).

    SummaryKey

    SummaryKey uniquely identifies a device summary request.

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    device_id is the serial number of the device

    TerminAttrDiffsBySup

    TerminAttrDiffsBySup is the terminattr diff information for each supervisor.

    Field NameTypeDescription
    valuesTerminAttrDiffsBySup.ValuesEntry[…]

    values is the mapping of supervisor type to terminattr diff.

    TerminAttrDiffsBySup.ValuesEntry

    Field NameTypeDescription
    keystring

    valueExtensionDiff

    DiffOp

    DiffOp represents the operation performed to get from one side of the diff +supervisor.

    Field NameTypeDescription
    valuesSoftwareImageDiffsBySup.ValuesEntry[…]

    values is the mapping of supervisor type to image diff.

    SoftwareImageDiffsBySup.ValuesEntry

    Field NameTypeDescription
    keystring

    valueSoftwareImageDiff

    Summary

    Summary represents the device image summary.

    Field NameTypeDescription
    keySummaryKey

    key represents the image summary key.

    summaryImageSummary

    summary is the image diff summary.

    errorsImageErrors

    errors are the image errors encountered while validating the image. These are

    displayed on the workspace build results page.

    warningsImageWarnings

    warnings are the image warnings encountered while validating the image. These are

    displayed on the workspace build results page.

    infosImageInfos

    infos are the image infos encountered while validating the image. These are

    displayed on the workspace build results page.

    SummaryKey

    SummaryKey uniquely identifies a device summary request.

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    device_id is the serial number of the device

    TerminAttrDiffsBySup

    TerminAttrDiffsBySup is the terminattr diff information for each supervisor.

    Field NameTypeDescription
    valuesTerminAttrDiffsBySup.ValuesEntry[…]

    values is the mapping of supervisor type to terminattr diff.

    TerminAttrDiffsBySup.ValuesEntry

    Field NameTypeDescription
    keystring

    valueExtensionDiff

    DiffOp

    DiffOp represents the operation performed to get from one side of the diff to the other.

    NameNumberDescription
    DIFF_OP_UNSPECIFIED0

    DIFF_OP_UNSPECIFIED indicates op code is unspecified.

    DIFF_OP_NOP1

    DIFF_OP_NOP indicates no change.

    DIFF_OP_ADD2

    DIFF_OP_ADD is an addition of a software.

    DIFF_OP_DELETE3

    DIFF_OP_DELETE is deletion of a software.

    DIFF_OP_CHANGE4

    DIFF_OP_CHANGE is an update to the software.

    ErrorCode

    ErrorCode indicates errors produced during image validations.

    NameNumberDescription
    ERROR_CODE_UNSPECIFIED0

    ERROR_CODE_UNSPECIFIED indicates error code is unspecified.

    ERROR_CODE_SUPPORT_NOT_INTRODUCED1

    ERROR_CODE_SUPPORT_NOT_INTRODUCED represents case where the given EOS version does

    not support the SKU.

    Deprecated - use ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED

    ERROR_CODE_SUPPORT_REMOVED2

    ERROR_CODE_SUPPORT_REMOVED represents case where the given EOS version no longer

    supports the SKU.

    Deprecated - use ERROR_CODE_EOS_SUPPORT_REMOVED

    ERROR_CODE_DEVICE_UNREACHABLE3

    ERROR_CODE_DEVICE_UNREACHABLE represents the case where the device

    is unreachable during a compliance computation.

    ERROR_CODE_VALIDATION_FAILED4

    ERROR_CODE_VALIDATION_FAILED represents case where the validations checks

    failed.

    ERROR_CODE_GET_PROPOSED_IMAGE_INFO_FAILED5

    ERROR_CODE_GET_PROPOSED_IMAGE_INFO_FAILED represents case where we are

    unable to get proposed image information for a device.

    ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_ACTIVE_SUPERVISOR_FAILED6

    ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_ACTIVE_SUPERVISOR_FAILED represents case where we

    fail to get running image information from an active supervisor.

    ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_PEER_SUPERVISOR_FAILED7

    ERROR_CODE_GET_RUNNING_IMAGE_INFO_FROM_PEER_SUPERVISOR_FAILED represents case when we

    fail to get information from peer supervisor.

    ERROR_CODE_EOS_TA_ARCHITECTURE_INCOMPATIBLE8

    ERROR_CODE_EOS_TA_ARCHITECTURE_INCOMPATIBLE represents the case where EOS architecture and

    TerminAttr architecture are incompatible.

    ERROR_CODE_TA_CV_INCOMPATIBLE9

    ERROR_CODE_TA_CV_INCOMPATIBLE represents the case where TerminAttr is incompatible with

    CloudVision; i.e., the TerminAttr version is below CloudVision’s minimum supported version.

    ERROR_CODE_EOS_CV_INCOMPATIBLE10

    ERROR_CODE_EOS_CV_INCOMPATIBLE represents the case where the EOS version is incompatible with

    CloudVision; i.e., the EOS version is outside of CloudVision’s supported range of versions.

    ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED11

    ERROR_CODE_EOS_SUPPORT_NOT_INTRODUCED represents the case where the given EOS version does

    not support the SKU.

    ERROR_CODE_EOS_SUPPORT_REMOVED12

    ERROR_CODE_EOS_SUPPORT_REMOVED represents the case where the given EOS version no longer

    supports the SKU.

    ERROR_CODE_PHYSICAL_DEVICE_EOS_INCOMPATIBLE13

    ERROR_CODE_PHYSICAL_DEVICE_EOS_INCOMPATIBLE represents the case where the physical device

    does not support the given EOS type.

    ERROR_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE14

    ERROR_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents the case where the extension TerminAttr

    version is lower than the embedded TerminAttr version in SWI.

    ERROR_CODE_DEVICE_EOS_2GB_INCOMPATIBLE15

    ERROR_CODE_DEVICE_EOS_2GB_INCOMPATIBLE represents the case where a 2GB-device is incompatible

    with a non-2GB EOS or a non-2GB device is incompatible with a 2GB-EOS.

    ExtensionInstallStatus

    ExtensionInstallStatus indicates whether an extension is installed, not installed -or force installed.

    NameNumberDescription
    EXTENSION_INSTALL_STATUS_UNSPECIFIED0

    EXTENSION_INSTALL_STATUS_UNSPECIFIED indicates extensions install status is unspecified.

    EXTENSION_INSTALL_STATUS_NOT_INSTALLED1

    EXTENSION_INSTALL_STATUS_NOT_INSTALLED indicates extension is not installed on the device.

    EXTENSION_INSTALL_STATUS_INSTALLED2

    EXTENSION_INSTALL_STATUS_INSTALLED indicates extension is installed on the device.

    EXTENSION_INSTALL_STATUS_FORCE_INSTALLED3

    EXTENSION_INSTALL_STATUS_FORCE_INSTALLED indicates extension is force installed on

    device.

    SoftwareComplianceCode

    SoftwareComplianceCode indicates possible compliance status.

    NameNumberDescription
    SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED0

    SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED indicates compliance code is unspecified.

    SOFTWARE_COMPLIANCE_CODE_IN_SYNC1

    SOFTWARE_COMPLIANCE_CODE_IN_SYNC indicates designed and running images/extensions

    are identical.

    SOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC2

    SOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC indicates designed and running images/extensions

    are not identical.

    WarningCode

    WarningCode indicates warnings produced during image validations.

    NameNumberDescription
    WARNING_CODE_UNSPECIFIED0

    WARNING_CODE_UNSPECIFIED indicates warning code is unspecified.

    WARNING_CODE_NOT_APPLICABLE1

    WARNING_CODE_NOT_APPLICABLE represents cases where EOS <-> SKU/TA compatibility

    is not applicable for non physical switches like vEos.

    WARNING_CODE_SKUINFO_UNAVAILABLE2

    WARNING_CODE_SKUINFO_UNAVAILABLE represents case where

    information about certain skus is missing.

    WARNING_CODE_DEVICE_SKU_UNAVAILABLE3

    WARNING_CODE_DEVICE_SKU_UNAVAILABLE represents unavailability of skus for an EOS Device.

    WARNING_CODE_SWI_UNKNOWN4

    WARNING_CODE_SWI_UNKNOWN represents cases where EOS version is not found in release database.

    WARNING_CODE_TA_EOS_INCOMPATIBLE5

    WARNING_CODE_TA_EOS_INCOMPATIBLE represents cases where TA and EOS are not compatible.

    TA is lower than embedded TA in swi or given TA is unsupported by the EOS.

    WARNING_CODE_TA_CV_INCOMPATIBLE6

    WARNING_CODE_TA_CV_INCOMPATIBLE represents cases where TA is incompatible with CV.

    TA is lower than minimum supported TA on CV.

    Deprecated - use ERROR_CODE_TA_CV_INCOMPATIBLE.

    WARNING_CODE_EOS_CV_INCOMPATIBLE7

    WARNING_CODE_EOS_CV_INCOMPATIBLE represents cases where EOS is no longer or not yet

    supported by CV. Given EOS is outside range of CV’s minimum and maximum EOS.

    Deprecated - use ERROR_CODE_EOS_CV_INCOMPATIBLE.

    WARNING_CODE_EOS_ARCH_UNKNOWN8

    WARNING_CODE_EOS_ARCH_UNKNOWN represents cases where the specified architecture is

    not valid for EOS.

    WARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE9

    WARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents cases where TA extension is lower

    in version than embedded TA in SWI.

    WARNING_CODE_ARCH_INCOMPATIBLE10

    WARNING_CODE_ARCH_INCOMPATIBLE represents cases where EOS arch and TA arch are

    different. Deprecated.

    WARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED11

    WARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED represents cases where the given EOS has passed

    its end of life date.

    WARNING_CODE_SUPPORT_NOT_INTRODUCED12

    WARNING_CODE_SUPPORT_NOT_INTRODUCED represents cases where the given EOS version does

    not support the SKUs.

    WARNING_CODE_SUPPORT_REMOVED13

    WARNING_CODE_SUPPORT_REMOVED represents cases where the given EOS version no longer

    supports the SKUs.

    WARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION14

    WARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION represents cases where the running

    TerminAttr version is below CloudVision’s minimum supported version.

    WARNING_CODE_TA_STUDIO_INCOMPATIBLE15

    WARNING_CODE_TA_STUDIO_INCOMPATIBLE represents cases where the TerminAttr is incompatible

    with Software Management Studio.

    WARNING_CODE_BUGALERTS_DATA_MISSING16

    WARNING_CODE_BUGALERTS_DATA_MISSING represents cases where some of the BugAlerts data

    under Aeris analytics dataset is missing.

    Top

    arista/imagestatus.v1/services.gen.proto

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    SummaryBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Summary at end.

    * Each Summary response is fully-specified (all fields set).

    * start: Returns the state of each Summary at start, followed by updates until now.

    * Each Summary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Summary at start, followed by updates

    until end.

    * Each Summary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SummaryBatchedStreamResponse

    Field NameTypeDescription
    responsesSummaryStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SummaryRequest

    Field NameTypeDescription
    keySummaryKey

    Key uniquely identifies a Summary instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SummaryResponse

    Field NameTypeDescription
    valueSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Summary instance in this response.

    SummarySomeRequest

    Field NameTypeDescription
    keysSummaryKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SummarySomeResponse

    Field NameTypeDescription
    valueSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SummaryStreamRequest

    Field NameTypeDescription
    partial_eq_filterSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Summary at end.

    * Each Summary response is fully-specified (all fields set).

    * start: Returns the state of each Summary at start, followed by updates until now.

    * Each Summary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Summary at start, followed by updates

    until end.

    * Each Summary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SummaryStreamResponse

    Field NameTypeDescription
    valueSummary

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Summary’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Summary value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    SummaryService

    Method NameRequest TypeResponse TypeDescription
    GetOneSummaryRequestSummaryResponse

    GetSomeSummarySomeRequestSummarySomeResponse stream

    GetAllSummaryStreamRequestSummaryStreamResponse stream

    SubscribeSummaryStreamRequestSummaryStreamResponse stream

    GetMetaSummaryStreamRequestMetaResponse

    SubscribeMetaSummaryStreamRequestMetaResponse stream

    GetAllBatchedSummaryBatchedStreamRequestSummaryBatchedStreamResponse stream

    SubscribeBatchedSummaryBatchedStreamRequestSummaryBatchedStreamResponse stream

    \ No newline at end of file +or force installed.

    NameNumberDescription
    EXTENSION_INSTALL_STATUS_UNSPECIFIED0

    EXTENSION_INSTALL_STATUS_UNSPECIFIED indicates extensions install status is unspecified.

    EXTENSION_INSTALL_STATUS_NOT_INSTALLED1

    EXTENSION_INSTALL_STATUS_NOT_INSTALLED indicates extension is not installed on the device.

    EXTENSION_INSTALL_STATUS_INSTALLED2

    EXTENSION_INSTALL_STATUS_INSTALLED indicates extension is installed on the device.

    EXTENSION_INSTALL_STATUS_FORCE_INSTALLED3

    EXTENSION_INSTALL_STATUS_FORCE_INSTALLED indicates extension is force installed on

    device.

    InfoCode

    InfoCode indicates info messages produced during image validations.

    NameNumberDescription
    INFO_CODE_UNSPECIFIED0

    INFO_CODE_UNSPECIFIED indicates info code is unspecified.

    INFO_CODE_NEWER_VERSION_AVAILABLE1

    INFO_CODE_NEWER_VERSION_AVAILABLE represents cases where a newer EOS maintainance

    release is available for download.

    SoftwareComplianceCode

    SoftwareComplianceCode indicates possible compliance status.

    NameNumberDescription
    SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED0

    SOFTWARE_COMPLIANCE_CODE_UNSPECIFIED indicates compliance code is unspecified.

    SOFTWARE_COMPLIANCE_CODE_IN_SYNC1

    SOFTWARE_COMPLIANCE_CODE_IN_SYNC indicates designed and running images/extensions

    are identical.

    SOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC2

    SOFTWARE_COMPLIANCE_CODE_OUT_OF_SYNC indicates designed and running images/extensions

    are not identical.

    WarningCode

    WarningCode indicates warnings produced during image validations.

    NameNumberDescription
    WARNING_CODE_UNSPECIFIED0

    WARNING_CODE_UNSPECIFIED indicates warning code is unspecified.

    WARNING_CODE_NOT_APPLICABLE1

    WARNING_CODE_NOT_APPLICABLE represents cases where EOS <-> SKU/TA compatibility

    is not applicable for non physical switches like vEos.

    WARNING_CODE_SKUINFO_UNAVAILABLE2

    WARNING_CODE_SKUINFO_UNAVAILABLE represents case where

    information about certain skus is missing.

    WARNING_CODE_DEVICE_SKU_UNAVAILABLE3

    WARNING_CODE_DEVICE_SKU_UNAVAILABLE represents unavailability of skus for an EOS Device.

    WARNING_CODE_SWI_UNKNOWN4

    WARNING_CODE_SWI_UNKNOWN represents cases where EOS version is not found in release database.

    WARNING_CODE_TA_EOS_INCOMPATIBLE5

    WARNING_CODE_TA_EOS_INCOMPATIBLE represents cases where TA and EOS are not compatible.

    TA is lower than embedded TA in swi or given TA is unsupported by the EOS.

    WARNING_CODE_TA_CV_INCOMPATIBLE6

    WARNING_CODE_TA_CV_INCOMPATIBLE represents cases where TA is incompatible with CV.

    TA is lower than minimum supported TA on CV.

    Deprecated - use ERROR_CODE_TA_CV_INCOMPATIBLE.

    WARNING_CODE_EOS_CV_INCOMPATIBLE7

    WARNING_CODE_EOS_CV_INCOMPATIBLE represents cases where EOS is no longer or not yet

    supported by CV. Given EOS is outside range of CV’s minimum and maximum EOS.

    Deprecated - use ERROR_CODE_EOS_CV_INCOMPATIBLE.

    WARNING_CODE_EOS_ARCH_UNKNOWN8

    WARNING_CODE_EOS_ARCH_UNKNOWN represents cases where the specified architecture is

    not valid for EOS.

    WARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE9

    WARNING_CODE_TA_EMBEDDEDEXT_INCOMPATIBLE represents cases where TA extension is lower

    in version than embedded TA in SWI.

    WARNING_CODE_ARCH_INCOMPATIBLE10

    WARNING_CODE_ARCH_INCOMPATIBLE represents cases where EOS arch and TA arch are

    different. Deprecated.

    WARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED11

    WARNING_CODE_EOS_END_OF_LIFE_DATE_PASSED represents cases where the given EOS has passed

    its end of life date.

    WARNING_CODE_SUPPORT_NOT_INTRODUCED12

    WARNING_CODE_SUPPORT_NOT_INTRODUCED represents cases where the given EOS version does

    not support the SKUs.

    WARNING_CODE_SUPPORT_REMOVED13

    WARNING_CODE_SUPPORT_REMOVED represents cases where the given EOS version no longer

    supports the SKUs.

    WARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION14

    WARNING_CODE_RUNNING_TA_BELOW_MIN_SUPPORTED_VERSION represents cases where the running

    TerminAttr version is below CloudVision’s minimum supported version.

    WARNING_CODE_TA_STUDIO_INCOMPATIBLE15

    WARNING_CODE_TA_STUDIO_INCOMPATIBLE represents cases where the TerminAttr is incompatible

    with Software Management Studio.

    WARNING_CODE_BUGALERTS_DATA_MISSING16

    WARNING_CODE_BUGALERTS_DATA_MISSING represents cases where some of the BugAlerts data

    under Aeris analytics dataset is missing.

    Top

    arista/imagestatus.v1/services.gen.proto

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    SummaryBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Summary at end.

    * Each Summary response is fully-specified (all fields set).

    * start: Returns the state of each Summary at start, followed by updates until now.

    * Each Summary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Summary at start, followed by updates

    until end.

    * Each Summary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SummaryBatchedStreamResponse

    Field NameTypeDescription
    responsesSummaryStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SummaryRequest

    Field NameTypeDescription
    keySummaryKey

    Key uniquely identifies a Summary instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SummaryResponse

    Field NameTypeDescription
    valueSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Summary instance in this response.

    SummarySomeRequest

    Field NameTypeDescription
    keysSummaryKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SummarySomeResponse

    Field NameTypeDescription
    valueSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SummaryStreamRequest

    Field NameTypeDescription
    partial_eq_filterSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Summary at end.

    * Each Summary response is fully-specified (all fields set).

    * start: Returns the state of each Summary at start, followed by updates until now.

    * Each Summary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Summary at start, followed by updates

    until end.

    * Each Summary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SummaryStreamResponse

    Field NameTypeDescription
    valueSummary

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Summary’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Summary value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    SummaryService

    Method NameRequest TypeResponse TypeDescription
    GetOneSummaryRequestSummaryResponse

    GetSomeSummarySomeRequestSummarySomeResponse stream

    GetAllSummaryStreamRequestSummaryStreamResponse stream

    SubscribeSummaryStreamRequestSummaryStreamResponse stream

    GetMetaSummaryStreamRequestMetaResponse

    SubscribeMetaSummaryStreamRequestMetaResponse stream

    GetAllBatchedSummaryBatchedStreamRequestSummaryBatchedStreamResponse stream

    SubscribeBatchedSummaryBatchedStreamRequestSummaryBatchedStreamResponse stream

    \ No newline at end of file diff --git a/models/index.html b/models/index.html index bc14e1cb..464c92e2 100644 --- a/models/index.html +++ b/models/index.html @@ -1,8 +1,8 @@ -Models :: Arista Networks FMP APIs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/index.xml b/models/index.xml index 09b5578d..e3f1ed2b 100644 --- a/models/index.xml +++ b/models/index.xml @@ -514,6 +514,8 @@ ExtensionDiffsBySup.ValuesEntry Extensions ImageError ImageErrors +ImageInfo +ImageInfos ImageMetadata ImageSummary ImageWarning @@ -530,6 +532,7 @@ TerminAttrDiffsBySup.ValuesEntry DiffOp ErrorCode ExtensionInstallStatus +InfoCode SoftwareComplianceCode WarningCode arista/imagestatus.v1/services.gen.proto @@ -545,8 +548,7 @@ SummaryStreamResponse SummaryService Top arista/imagestatus.v1/imagestatus.proto ComplianceStatus ComplianceStatus indicates compliance status for software image, terminattr and extensions. -Field Name Type Description software_image_compliance_code SoftwareComplianceCode software_image_compliance_code is the compliance code for images. -terminattr_compliance_code SoftwareComplianceCode terminattr_compliance_code is the compliance code for TerminAttr.
    inventory.v1https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/Mon, 01 Jan 0001 00:00:00 +0000https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/arista/inventory.v1/inventory.proto +Field Name Type Description software_image_compliance_code SoftwareComplianceCode software_image_compliance_code is the compliance code for images.inventory.v1https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/Mon, 01 Jan 0001 00:00:00 +0000https://aristanetworks.github.io/cloudvision-apis/models/inventory.v1/arista/inventory.v1/inventory.proto Device DeviceConfiguration DeviceConfiguration.OptionsEntry diff --git a/models/inventory.v1/index.html b/models/inventory.v1/index.html index 66c4ffca..25a0749b 100644 --- a/models/inventory.v1/index.html +++ b/models/inventory.v1/index.html @@ -1,7 +1,7 @@ -inventory.v1 :: Arista Networks FMP APIs -

    inventory.v1

    Top

    arista/inventory.v1/inventory.proto

    Device

    Device describes an onboarded device.

    Field NameTypeDescription
    keyDeviceKey

    key uniquely identifies the device.

    software_versiongoogle.protobuf.StringValue

    software_version gives the currently running device software version.

    model_namegoogle.protobuf.StringValue

    model_name describes the hardware model of this device.

    hardware_revisiongoogle.protobuf.StringValue

    hardware_revision describes any revisional data to the model name.

    fqdngoogle.protobuf.StringValue

    fqdn gives the device’s fully qualified domain name.

    hostnamegoogle.protobuf.StringValue

    hostname is the hostname as reported on the device.

    domain_namegoogle.protobuf.StringValue

    domain_name provides the domain name on which the device is registered.

    system_mac_addressgoogle.protobuf.StringValue

    system_mac_address provides the MAC address of the management port.

    boot_timegoogle.protobuf.Timestamp

    boot_time indicates when the device was last booted.

    streaming_statusStreamingStatus

    streaming_status is the status of telemetry streaming for this device.

    extended_attributesExtendedAttributes

    extended_attributes wraps any additional, potentially non-standard, features

    or attributes that the device reports.

    DeviceConfiguration

    DeviceConfiguration holds the device-specific configuration for a third-party @@ -21,4 +21,4 @@ process for a device.

    NameNumberDescription
    DECOMMISSIONING_STATUS_UNSPECIFIED0

    DECOMMISSIONING_STATUS_IN_PROGRESS1

    DECOMMISSIONING_STATUS_IN_PROGRESS indicates decommissioning is in progress.

    DECOMMISSIONING_STATUS_FAILURE2

    DECOMMISSIONING_STATUS_FAILURE indicates decommissioning failed.

    DECOMMISSIONING_STATUS_SUCCESS3

    DECOMMISSIONING_STATUS_SUCCESS indicates decommissioning succeeded.

    OnboardingStatus

    OnboardingStatus defines the set of possible states in the onboarding process for a device.

    NameNumberDescription
    ONBOARDING_STATUS_UNSPECIFIED0

    ONBOARDING_STATUS_IN_PROGRESS1

    ONBOARDING_STATUS_IN_PROGRESS indicates onboarding is in progress.

    ONBOARDING_STATUS_FAILURE2

    ONBOARDING_STATUS_FAILURE indicates onboarding failed.

    ONBOARDING_STATUS_SUCCESS3

    ONBOARDING_STATUS_SUCCESS indicates onboarding succeeded.

    ProvisioningStatus

    ProvisioningStatus defines the set of possible states in the provisioning process for a device.

    NameNumberDescription
    PROVISIONING_STATUS_UNSPECIFIED0

    PROVISIONING_STATUS_IN_PROGRESS1

    PROVISIONING_STATUS_IN_PROGRESS indicates provisioning is in progress.

    PROVISIONING_STATUS_FAILURE2

    PROVISIONING_STATUS_FAILURE indicates provisioning failed.

    PROVISIONING_STATUS_SUCCESS3

    PROVISIONING_STATUS_SUCCESS indicates provisioning succeeded.

    StreamingStatus

    StreamingStatus defines the status of telemetry streaming for a device.

    NameNumberDescription
    STREAMING_STATUS_UNSPECIFIED0

    STREAMING_STATUS_INACTIVE1

    STREAMING_STATUS_INACTIVE indicates the device is not streaming telemetry.

    STREAMING_STATUS_ACTIVE2

    STREAMING_STATUS_ACTIVE indicates the device is streaming telemetry.

    Top

    arista/inventory.v1/services.gen.proto

    DeviceBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDevice[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Device at end.

    * Each Device response is fully-specified (all fields set).

    * start: Returns the state of each Device at start, followed by updates until now.

    * Each Device response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Device at start, followed by updates

    until end.

    * Each Device response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DeviceBatchedStreamResponse

    Field NameTypeDescription
    responsesDeviceStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DeviceDecommissioningBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceDecommissioning[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceDecommissioning at end.

    * Each DeviceDecommissioning response is fully-specified (all fields set).

    * start: Returns the state of each DeviceDecommissioning at start, followed by updates until now.

    * Each DeviceDecommissioning response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceDecommissioning at start, followed by updates

    until end.

    * Each DeviceDecommissioning response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DeviceDecommissioningBatchedStreamResponse

    Field NameTypeDescription
    responsesDeviceDecommissioningStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DeviceDecommissioningConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceDecommissioningConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceDecommissioningConfig at end.

    * Each DeviceDecommissioningConfig response is fully-specified (all fields set).

    * start: Returns the state of each DeviceDecommissioningConfig at start, followed by updates until now.

    * Each DeviceDecommissioningConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceDecommissioningConfig at start, followed by updates

    until end.

    * Each DeviceDecommissioningConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DeviceDecommissioningConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesDeviceDecommissioningConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DeviceDecommissioningConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterDeviceDecommissioningConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    DeviceDecommissioningConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyUUIDKey

    This is the key of the DeviceDecommissioningConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    DeviceDecommissioningConfigDeleteRequest

    Field NameTypeDescription
    keyUUIDKey

    Key indicates which DeviceDecommissioningConfig instance to remove.

    This field must always be set.

    DeviceDecommissioningConfigDeleteResponse

    Field NameTypeDescription
    keyUUIDKey

    Key echoes back the key of the deleted DeviceDecommissioningConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    DeviceDecommissioningConfigDeleteSomeRequest

    Field NameTypeDescription
    keysUUIDKey[…]

    key contains a list of DeviceDecommissioningConfig keys to delete

    DeviceDecommissioningConfigDeleteSomeResponse

    DeviceDecommissioningConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyUUIDKey

    errorstring

    DeviceDecommissioningConfigRequest

    Field NameTypeDescription
    keyUUIDKey

    Key uniquely identifies a DeviceDecommissioningConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceDecommissioningConfigResponse

    Field NameTypeDescription
    valueDeviceDecommissioningConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DeviceDecommissioningConfig instance in this response.

    DeviceDecommissioningConfigSetRequest

    Field NameTypeDescription
    valueDeviceDecommissioningConfig

    DeviceDecommissioningConfig carries the value to set into the datastore.

    See the documentation on the DeviceDecommissioningConfig struct for which fields are required.

    DeviceDecommissioningConfigSetResponse

    Field NameTypeDescription
    valueDeviceDecommissioningConfig

    Value carries all the values given in the DeviceDecommissioningConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    DeviceDecommissioningConfigSetSomeRequest

    Field NameTypeDescription
    valuesDeviceDecommissioningConfig[…]

    value contains a list of DeviceDecommissioningConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    DeviceDecommissioningConfigSetSomeResponse

    Field NameTypeDescription
    keyUUIDKey

    errorstring

    DeviceDecommissioningConfigSomeRequest

    Field NameTypeDescription
    keysUUIDKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceDecommissioningConfigSomeResponse

    Field NameTypeDescription
    valueDeviceDecommissioningConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DeviceDecommissioningConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceDecommissioningConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceDecommissioningConfig at end.

    * Each DeviceDecommissioningConfig response is fully-specified (all fields set).

    * start: Returns the state of each DeviceDecommissioningConfig at start, followed by updates until now.

    * Each DeviceDecommissioningConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceDecommissioningConfig at start, followed by updates

    until end.

    * Each DeviceDecommissioningConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DeviceDecommissioningConfigStreamResponse

    Field NameTypeDescription
    valueDeviceDecommissioningConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DeviceDecommissioningConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DeviceDecommissioningConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DeviceDecommissioningRequest

    Field NameTypeDescription
    keyUUIDKey

    Key uniquely identifies a DeviceDecommissioning instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceDecommissioningResponse

    Field NameTypeDescription
    valueDeviceDecommissioning

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DeviceDecommissioning instance in this response.

    DeviceDecommissioningSomeRequest

    Field NameTypeDescription
    keysUUIDKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceDecommissioningSomeResponse

    Field NameTypeDescription
    valueDeviceDecommissioning

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DeviceDecommissioningStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceDecommissioning[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceDecommissioning at end.

    * Each DeviceDecommissioning response is fully-specified (all fields set).

    * start: Returns the state of each DeviceDecommissioning at start, followed by updates until now.

    * Each DeviceDecommissioning response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceDecommissioning at start, followed by updates

    until end.

    * Each DeviceDecommissioning response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DeviceDecommissioningStreamResponse

    Field NameTypeDescription
    valueDeviceDecommissioning

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DeviceDecommissioning’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DeviceDecommissioning value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DeviceOnboardingBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceOnboarding[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceOnboarding at end.

    * Each DeviceOnboarding response is fully-specified (all fields set).

    * start: Returns the state of each DeviceOnboarding at start, followed by updates until now.

    * Each DeviceOnboarding response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceOnboarding at start, followed by updates

    until end.

    * Each DeviceOnboarding response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DeviceOnboardingBatchedStreamResponse

    Field NameTypeDescription
    responsesDeviceOnboardingStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DeviceOnboardingConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceOnboardingConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceOnboardingConfig at end.

    * Each DeviceOnboardingConfig response is fully-specified (all fields set).

    * start: Returns the state of each DeviceOnboardingConfig at start, followed by updates until now.

    * Each DeviceOnboardingConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceOnboardingConfig at start, followed by updates

    until end.

    * Each DeviceOnboardingConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    DeviceOnboardingConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesDeviceOnboardingConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    DeviceOnboardingConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterDeviceOnboardingConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    DeviceOnboardingConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyUUIDKey

    This is the key of the DeviceOnboardingConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    DeviceOnboardingConfigDeleteRequest

    Field NameTypeDescription
    keyUUIDKey

    Key indicates which DeviceOnboardingConfig instance to remove.

    This field must always be set.

    DeviceOnboardingConfigDeleteResponse

    Field NameTypeDescription
    keyUUIDKey

    Key echoes back the key of the deleted DeviceOnboardingConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    DeviceOnboardingConfigDeleteSomeRequest

    Field NameTypeDescription
    keysUUIDKey[…]

    key contains a list of DeviceOnboardingConfig keys to delete

    DeviceOnboardingConfigDeleteSomeResponse

    DeviceOnboardingConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyUUIDKey

    errorstring

    DeviceOnboardingConfigRequest

    Field NameTypeDescription
    keyUUIDKey

    Key uniquely identifies a DeviceOnboardingConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceOnboardingConfigResponse

    Field NameTypeDescription
    valueDeviceOnboardingConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DeviceOnboardingConfig instance in this response.

    DeviceOnboardingConfigSetRequest

    Field NameTypeDescription
    valueDeviceOnboardingConfig

    DeviceOnboardingConfig carries the value to set into the datastore.

    See the documentation on the DeviceOnboardingConfig struct for which fields are required.

    DeviceOnboardingConfigSetResponse

    Field NameTypeDescription
    valueDeviceOnboardingConfig

    Value carries all the values given in the DeviceOnboardingConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    DeviceOnboardingConfigSetSomeRequest

    Field NameTypeDescription
    valuesDeviceOnboardingConfig[…]

    value contains a list of DeviceOnboardingConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    DeviceOnboardingConfigSetSomeResponse

    Field NameTypeDescription
    keyUUIDKey

    errorstring

    DeviceOnboardingConfigSomeRequest

    Field NameTypeDescription
    keysUUIDKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceOnboardingConfigSomeResponse

    Field NameTypeDescription
    valueDeviceOnboardingConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DeviceOnboardingConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceOnboardingConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceOnboardingConfig at end.

    * Each DeviceOnboardingConfig response is fully-specified (all fields set).

    * start: Returns the state of each DeviceOnboardingConfig at start, followed by updates until now.

    * Each DeviceOnboardingConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceOnboardingConfig at start, followed by updates

    until end.

    * Each DeviceOnboardingConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DeviceOnboardingConfigStreamResponse

    Field NameTypeDescription
    valueDeviceOnboardingConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DeviceOnboardingConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DeviceOnboardingConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DeviceOnboardingRequest

    Field NameTypeDescription
    keyUUIDKey

    Key uniquely identifies a DeviceOnboarding instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceOnboardingResponse

    Field NameTypeDescription
    valueDeviceOnboarding

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DeviceOnboarding instance in this response.

    DeviceOnboardingSomeRequest

    Field NameTypeDescription
    keysUUIDKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceOnboardingSomeResponse

    Field NameTypeDescription
    valueDeviceOnboarding

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DeviceOnboardingStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceOnboarding[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceOnboarding at end.

    * Each DeviceOnboarding response is fully-specified (all fields set).

    * start: Returns the state of each DeviceOnboarding at start, followed by updates until now.

    * Each DeviceOnboarding response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceOnboarding at start, followed by updates

    until end.

    * Each DeviceOnboarding response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DeviceOnboardingStreamResponse

    Field NameTypeDescription
    valueDeviceOnboarding

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DeviceOnboarding’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DeviceOnboarding value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DeviceRequest

    Field NameTypeDescription
    keyDeviceKey

    Key uniquely identifies a Device instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceResponse

    Field NameTypeDescription
    valueDevice

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Device instance in this response.

    DeviceSomeRequest

    Field NameTypeDescription
    keysDeviceKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceSomeResponse

    Field NameTypeDescription
    valueDevice

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    DeviceStreamRequest

    Field NameTypeDescription
    partial_eq_filterDevice[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Device at end.

    * Each Device response is fully-specified (all fields set).

    * start: Returns the state of each Device at start, followed by updates until now.

    * Each Device response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Device at start, followed by updates

    until end.

    * Each Device response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DeviceStreamResponse

    Field NameTypeDescription
    valueDevice

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Device’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Device value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    ProvisionedDeviceBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterProvisionedDevice[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ProvisionedDevice at end.

    * Each ProvisionedDevice response is fully-specified (all fields set).

    * start: Returns the state of each ProvisionedDevice at start, followed by updates until now.

    * Each ProvisionedDevice response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ProvisionedDevice at start, followed by updates

    until end.

    * Each ProvisionedDevice response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    ProvisionedDeviceBatchedStreamResponse

    Field NameTypeDescription
    responsesProvisionedDeviceStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    ProvisionedDeviceRequest

    Field NameTypeDescription
    keyDeviceKey

    Key uniquely identifies a ProvisionedDevice instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ProvisionedDeviceResponse

    Field NameTypeDescription
    valueProvisionedDevice

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    ProvisionedDevice instance in this response.

    ProvisionedDeviceSomeRequest

    Field NameTypeDescription
    keysDeviceKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    ProvisionedDeviceSomeResponse

    Field NameTypeDescription
    valueProvisionedDevice

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    ProvisionedDeviceStreamRequest

    Field NameTypeDescription
    partial_eq_filterProvisionedDevice[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each ProvisionedDevice at end.

    * Each ProvisionedDevice response is fully-specified (all fields set).

    * start: Returns the state of each ProvisionedDevice at start, followed by updates until now.

    * Each ProvisionedDevice response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each ProvisionedDevice at start, followed by updates

    until end.

    * Each ProvisionedDevice response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    ProvisionedDeviceStreamResponse

    Field NameTypeDescription
    valueProvisionedDevice

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this ProvisionedDevice’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the ProvisionedDevice value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    DeviceDecommissioningConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneDeviceDecommissioningConfigRequestDeviceDecommissioningConfigResponse

    GetSomeDeviceDecommissioningConfigSomeRequestDeviceDecommissioningConfigSomeResponse stream

    GetAllDeviceDecommissioningConfigStreamRequestDeviceDecommissioningConfigStreamResponse stream

    SubscribeDeviceDecommissioningConfigStreamRequestDeviceDecommissioningConfigStreamResponse stream

    GetMetaDeviceDecommissioningConfigStreamRequestMetaResponse

    SubscribeMetaDeviceDecommissioningConfigStreamRequestMetaResponse stream

    SetDeviceDecommissioningConfigSetRequestDeviceDecommissioningConfigSetResponse

    SetSomeDeviceDecommissioningConfigSetSomeRequestDeviceDecommissioningConfigSetSomeResponse stream

    DeleteDeviceDecommissioningConfigDeleteRequestDeviceDecommissioningConfigDeleteResponse

    DeleteSomeDeviceDecommissioningConfigDeleteSomeRequestDeviceDecommissioningConfigDeleteSomeResponse stream

    DeleteAllDeviceDecommissioningConfigDeleteAllRequestDeviceDecommissioningConfigDeleteAllResponse stream

    GetAllBatchedDeviceDecommissioningConfigBatchedStreamRequestDeviceDecommissioningConfigBatchedStreamResponse stream

    SubscribeBatchedDeviceDecommissioningConfigBatchedStreamRequestDeviceDecommissioningConfigBatchedStreamResponse stream

    DeviceDecommissioningService

    Method NameRequest TypeResponse TypeDescription
    GetOneDeviceDecommissioningRequestDeviceDecommissioningResponse

    GetSomeDeviceDecommissioningSomeRequestDeviceDecommissioningSomeResponse stream

    GetAllDeviceDecommissioningStreamRequestDeviceDecommissioningStreamResponse stream

    SubscribeDeviceDecommissioningStreamRequestDeviceDecommissioningStreamResponse stream

    GetMetaDeviceDecommissioningStreamRequestMetaResponse

    SubscribeMetaDeviceDecommissioningStreamRequestMetaResponse stream

    GetAllBatchedDeviceDecommissioningBatchedStreamRequestDeviceDecommissioningBatchedStreamResponse stream

    SubscribeBatchedDeviceDecommissioningBatchedStreamRequestDeviceDecommissioningBatchedStreamResponse stream

    DeviceOnboardingConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneDeviceOnboardingConfigRequestDeviceOnboardingConfigResponse

    GetSomeDeviceOnboardingConfigSomeRequestDeviceOnboardingConfigSomeResponse stream

    GetAllDeviceOnboardingConfigStreamRequestDeviceOnboardingConfigStreamResponse stream

    SubscribeDeviceOnboardingConfigStreamRequestDeviceOnboardingConfigStreamResponse stream

    GetMetaDeviceOnboardingConfigStreamRequestMetaResponse

    SubscribeMetaDeviceOnboardingConfigStreamRequestMetaResponse stream

    SetDeviceOnboardingConfigSetRequestDeviceOnboardingConfigSetResponse

    SetSomeDeviceOnboardingConfigSetSomeRequestDeviceOnboardingConfigSetSomeResponse stream

    DeleteDeviceOnboardingConfigDeleteRequestDeviceOnboardingConfigDeleteResponse

    DeleteSomeDeviceOnboardingConfigDeleteSomeRequestDeviceOnboardingConfigDeleteSomeResponse stream

    DeleteAllDeviceOnboardingConfigDeleteAllRequestDeviceOnboardingConfigDeleteAllResponse stream

    GetAllBatchedDeviceOnboardingConfigBatchedStreamRequestDeviceOnboardingConfigBatchedStreamResponse stream

    SubscribeBatchedDeviceOnboardingConfigBatchedStreamRequestDeviceOnboardingConfigBatchedStreamResponse stream

    DeviceOnboardingService

    Method NameRequest TypeResponse TypeDescription
    GetOneDeviceOnboardingRequestDeviceOnboardingResponse

    GetSomeDeviceOnboardingSomeRequestDeviceOnboardingSomeResponse stream

    GetAllDeviceOnboardingStreamRequestDeviceOnboardingStreamResponse stream

    SubscribeDeviceOnboardingStreamRequestDeviceOnboardingStreamResponse stream

    GetMetaDeviceOnboardingStreamRequestMetaResponse

    SubscribeMetaDeviceOnboardingStreamRequestMetaResponse stream

    GetAllBatchedDeviceOnboardingBatchedStreamRequestDeviceOnboardingBatchedStreamResponse stream

    SubscribeBatchedDeviceOnboardingBatchedStreamRequestDeviceOnboardingBatchedStreamResponse stream

    DeviceService

    Method NameRequest TypeResponse TypeDescription
    GetOneDeviceRequestDeviceResponse

    GetSomeDeviceSomeRequestDeviceSomeResponse stream

    GetAllDeviceStreamRequestDeviceStreamResponse stream

    SubscribeDeviceStreamRequestDeviceStreamResponse stream

    GetMetaDeviceStreamRequestMetaResponse

    SubscribeMetaDeviceStreamRequestMetaResponse stream

    GetAllBatchedDeviceBatchedStreamRequestDeviceBatchedStreamResponse stream

    SubscribeBatchedDeviceBatchedStreamRequestDeviceBatchedStreamResponse stream

    ProvisionedDeviceService

    Method NameRequest TypeResponse TypeDescription
    GetOneProvisionedDeviceRequestProvisionedDeviceResponse

    GetSomeProvisionedDeviceSomeRequestProvisionedDeviceSomeResponse stream

    GetAllProvisionedDeviceStreamRequestProvisionedDeviceStreamResponse stream

    SubscribeProvisionedDeviceStreamRequestProvisionedDeviceStreamResponse stream

    GetMetaProvisionedDeviceStreamRequestMetaResponse

    SubscribeMetaProvisionedDeviceStreamRequestMetaResponse stream

    GetAllBatchedProvisionedDeviceBatchedStreamRequestProvisionedDeviceBatchedStreamResponse stream

    SubscribeBatchedProvisionedDeviceBatchedStreamRequestProvisionedDeviceBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/lifecycle.v1/index.html b/models/lifecycle.v1/index.html index 3ed37b59..c013a2dc 100644 --- a/models/lifecycle.v1/index.html +++ b/models/lifecycle.v1/index.html @@ -1,11 +1,11 @@ -lifecycle.v1 :: Arista Networks FMP APIs -

    lifecycle.v1

    Top

    arista/lifecycle.v1/lifecycle.proto

    DateAndModels

    DateAndModels has an “end of” date along with the models that has this exact “end of” date

    Field NameTypeDescription
    dategoogle.protobuf.Timestamp

    “end of” date

    modelsfmp.MapStringInt32

    models with this exact “end of” date

    mapped to its count

    DeviceLifecycleSummary

    DeviceLifecycleSummary is the state model that represents the lifecycle summary of a device

    Field NameTypeDescription
    keyDeviceLifecycleSummaryKey

    DeviceLifecycleSummaryKey is the key of

    DeviceLifecycleSummary

    software_eolSoftwareEOL

    software_eol is the software end of life of

    a device

    hardware_lifecycle_summaryHardwareLifecycleSummary

    hardware_lifecycle_summary is the hardware lifecycle summary

    of a device

    DeviceLifecycleSummaryKey

    DeviceLifecycleSummaryKey is the key type for DeviceLifecycleSummary model

    Field NameTypeDescription
    device_idgoogle.protobuf.StringValue

    device_id is the device ID

    HardwareLifecycleSummary

    HardwareLifecycleSummary represents a hardware lifecycle summary

    Field NameTypeDescription
    end_of_lifeDateAndModels

    end_of_life of a HardwareLifecycleSummary

    end_of_saleDateAndModels

    end_of_sale of a HardwareLifecycleSummary

    end_of_tac_supportDateAndModels

    end_of_tac_support of a HardwareLifecycleSummary

    end_of_hardware_rma_requestsDateAndModels

    end_of_hardware_rma_requests of a HardwareLifecycleSummary

    SoftwareEOL

    SoftwareEOL represents a software end of life

    Field NameTypeDescription
    versiongoogle.protobuf.StringValue

    version of a SoftwareEOL

    end_of_supportgoogle.protobuf.Timestamp

    end_of_support of a SoftwareEOL

    Top

    arista/lifecycle.v1/services.gen.proto

    DeviceLifecycleSummaryRequest

    Field NameTypeDescription
    keyDeviceLifecycleSummaryKey

    Key uniquely identifies a DeviceLifecycleSummary instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    DeviceLifecycleSummaryResponse

    Field NameTypeDescription
    valueDeviceLifecycleSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    DeviceLifecycleSummary instance in this response.

    DeviceLifecycleSummaryStreamRequest

    Field NameTypeDescription
    partial_eq_filterDeviceLifecycleSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each DeviceLifecycleSummary at end.

    * Each DeviceLifecycleSummary response is fully-specified (all fields set).

    * start: Returns the state of each DeviceLifecycleSummary at start, followed by updates until now.

    * Each DeviceLifecycleSummary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each DeviceLifecycleSummary at start, followed by updates

    until end.

    * Each DeviceLifecycleSummary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    DeviceLifecycleSummaryStreamResponse

    Field NameTypeDescription
    valueDeviceLifecycleSummary

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this DeviceLifecycleSummary’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the DeviceLifecycleSummary value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    DeviceLifecycleSummaryService

    Method NameRequest TypeResponse TypeDescription
    GetOneDeviceLifecycleSummaryRequestDeviceLifecycleSummaryResponse

    GetAllDeviceLifecycleSummaryStreamRequestDeviceLifecycleSummaryStreamResponse stream

    SubscribeDeviceLifecycleSummaryStreamRequestDeviceLifecycleSummaryStreamResponse stream

    GetMetaDeviceLifecycleSummaryStreamRequestMetaResponse

    SubscribeMetaDeviceLifecycleSummaryStreamRequestMetaResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/redirector.v1/index.html b/models/redirector.v1/index.html index 840eb97b..94992fd9 100644 --- a/models/redirector.v1/index.html +++ b/models/redirector.v1/index.html @@ -1,10 +1,10 @@ -redirector.v1 :: Arista Networks FMP APIs -

    redirector.v1

    Top

    arista/redirector.v1/redirector.proto

    Assignment

    Assignment returns the information about the regional clusters that the system is assigned to. Each cluster consists of a series of hosts, each of which the client can use to connect.

    Field NameTypeDescription
    keyAssignmentKey

    key uniquely identifies the assignment of system_id to the cluster.

    clustersClusters

    clusters that the system is assigned to.

    AssignmentKey

    AssignmentKey allows to uniquely identify an assignment.

    Field NameTypeDescription
    system_idgoogle.protobuf.StringValue

    system_id is the unique identifier of a device.

    Cluster

    Field NameTypeDescription
    namegoogle.protobuf.StringValue

    name of the cluster. The name can change over time as new clusters

    are added or removed.

    hostsfmp.RepeatedString

    hosts in the cluster that the devices can connect to.

    Clusters

    Clusters wraps a cluster list which contain the information about the hosts.

    Field NameTypeDescription
    valuesCluster[…]

    values contains the list of clusters associated with the region

    Top

    arista/redirector.v1/services.gen.proto

    AssignmentBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterAssignment[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Assignment at end.

    * Each Assignment response is fully-specified (all fields set).

    * start: Returns the state of each Assignment at start, followed by updates until now.

    * Each Assignment response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Assignment at start, followed by updates

    until end.

    * Each Assignment response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    AssignmentBatchedStreamResponse

    Field NameTypeDescription
    responsesAssignmentStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    AssignmentRequest

    Field NameTypeDescription
    keyAssignmentKey

    Key uniquely identifies a Assignment instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AssignmentResponse

    Field NameTypeDescription
    valueAssignment

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Assignment instance in this response.

    AssignmentSomeRequest

    Field NameTypeDescription
    keysAssignmentKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AssignmentSomeResponse

    Field NameTypeDescription
    valueAssignment

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AssignmentStreamRequest

    Field NameTypeDescription
    partial_eq_filterAssignment[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Assignment at end.

    * Each Assignment response is fully-specified (all fields set).

    * start: Returns the state of each Assignment at start, followed by updates until now.

    * Each Assignment response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Assignment at start, followed by updates

    until end.

    * Each Assignment response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AssignmentStreamResponse

    Field NameTypeDescription
    valueAssignment

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Assignment’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Assignment value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    AssignmentService

    Method NameRequest TypeResponse TypeDescription
    GetOneAssignmentRequestAssignmentResponse

    GetSomeAssignmentSomeRequestAssignmentSomeResponse stream

    GetAllAssignmentStreamRequestAssignmentStreamResponse stream

    SubscribeAssignmentStreamRequestAssignmentStreamResponse stream

    GetMetaAssignmentStreamRequestMetaResponse

    SubscribeMetaAssignmentStreamRequestMetaResponse stream

    GetAllBatchedAssignmentBatchedStreamRequestAssignmentBatchedStreamResponse stream

    SubscribeBatchedAssignmentBatchedStreamRequestAssignmentBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/serviceaccount.v1/index.html b/models/serviceaccount.v1/index.html index a53862d7..873aeeef 100644 --- a/models/serviceaccount.v1/index.html +++ b/models/serviceaccount.v1/index.html @@ -1,9 +1,9 @@ -serviceaccount.v1 :: Arista Networks FMP APIs -

    serviceaccount.v1

    Top

    arista/serviceaccount.v1/serviceaccount.proto

    Account

    Account describes a service account.

    Field NameTypeDescription
    keyAccountKey

    key uniquely identifies the service account.

    statusAccountStatus

    status determines whether the service account is enabled or disabled.

    descriptiongoogle.protobuf.StringValue

    description is a comment describing the service account.

    groupsfmp.RepeatedString

    groups is a list of roles that the service account inherits permissions from.

    created_bygoogle.protobuf.StringValue

    created_by is the name of the entity that created the service account.

    last_accessgoogle.protobuf.Timestamp

    last_access is the time when the service account was last fetched.

    AccountConfig

    AccountConfig holds the configuration for a service account.

    Field NameTypeDescription
    keyAccountKey

    key contains the name of the service account.

    statusAccountStatus

    status determines if the service account is enabled or disabled. New service accounts are

    enabled by default.

    descriptiongoogle.protobuf.StringValue

    description is a comment describing the service account.

    groupsfmp.RepeatedString

    groups is a list of roles that the service account inherits permissions from.

    AccountKey

    AccountKey contains the name of the service account.

    Field NameTypeDescription
    namegoogle.protobuf.StringValue

    name is the unique identifier of the service account.

    Token

    Token describes a service account token.

    Field NameTypeDescription
    keyTokenKey

    key uniquely identifies the service account token.

    usergoogle.protobuf.StringValue

    user is the name of the service account that the token is generated for.

    descriptiongoogle.protobuf.StringValue

    description is a short name or comment used to identify the service account token.

    valid_untilgoogle.protobuf.Timestamp

    valid_until is the time that the service account token will be valid until.

    created_bygoogle.protobuf.StringValue

    created_by is the name of the entity that created the service account token.

    last_usedgoogle.protobuf.Timestamp

    last_used is the time when the service account token was last used to authenticate.

    TokenConfig

    TokenConfig holds the configuration for a service account token. The token is a signed JWT which can be used as a credential for REST and WRPC endpoints.

    Field NameTypeDescription
    keyTokenKey

    key uniquely identifies the service account token.

    usergoogle.protobuf.StringValue

    user is the name of the service account that the token is generated for.

    descriptiongoogle.protobuf.StringValue

    description is a short name or comment used to identify the service account token.

    valid_forgoogle.protobuf.Duration

    valid_for determines the duration that the service account token will be valid for.

    tokengoogle.protobuf.StringValue

    token is the JWT token generated for a service account token.

    It is only populated in Set response.

    TokenKey

    TokenKey contains service account token ID.

    Field NameTypeDescription
    idgoogle.protobuf.StringValue

    id is the unique identifier of the service account token.

    AccountStatus

    AccountStatus determines whether an service account is enabled or disabled.

    NameNumberDescription
    ACCOUNT_STATUS_UNSPECIFIED0

    ACCOUNT_STATUS_UNSPECIFIED indicates the service account status is unspecified.

    ACCOUNT_STATUS_ENABLED1

    ACCOUNT_STATUS_ENABLED indicates the service account is enabled.

    ACCOUNT_STATUS_DISABLED2

    ACCOUNT_STATUS_DISABLED indicates the service account is disabled.

    Top

    arista/serviceaccount.v1/services.gen.proto

    AccountConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterAccountConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    AccountConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyAccountKey

    This is the key of the AccountConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    AccountConfigDeleteRequest

    Field NameTypeDescription
    keyAccountKey

    Key indicates which AccountConfig instance to remove.

    This field must always be set.

    AccountConfigDeleteResponse

    Field NameTypeDescription
    keyAccountKey

    Key echoes back the key of the deleted AccountConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    AccountConfigDeleteSomeRequest

    Field NameTypeDescription
    keysAccountKey[…]

    key contains a list of AccountConfig keys to delete

    AccountConfigDeleteSomeResponse

    AccountConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyAccountKey

    errorstring

    AccountConfigRequest

    Field NameTypeDescription
    keyAccountKey

    Key uniquely identifies a AccountConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AccountConfigResponse

    Field NameTypeDescription
    valueAccountConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    AccountConfig instance in this response.

    AccountConfigSetRequest

    Field NameTypeDescription
    valueAccountConfig

    AccountConfig carries the value to set into the datastore.

    See the documentation on the AccountConfig struct for which fields are required.

    AccountConfigSetResponse

    Field NameTypeDescription
    valueAccountConfig

    Value carries all the values given in the AccountConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    AccountConfigSetSomeRequest

    Field NameTypeDescription
    valuesAccountConfig[…]

    value contains a list of AccountConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    AccountConfigSetSomeResponse

    Field NameTypeDescription
    keyAccountKey

    errorstring

    AccountConfigSomeRequest

    Field NameTypeDescription
    keysAccountKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AccountConfigSomeResponse

    Field NameTypeDescription
    valueAccountConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AccountConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterAccountConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AccountConfig at end.

    * Each AccountConfig response is fully-specified (all fields set).

    * start: Returns the state of each AccountConfig at start, followed by updates until now.

    * Each AccountConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AccountConfig at start, followed by updates

    until end.

    * Each AccountConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AccountConfigStreamResponse

    Field NameTypeDescription
    valueAccountConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this AccountConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the AccountConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AccountRequest

    Field NameTypeDescription
    keyAccountKey

    Key uniquely identifies a Account instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AccountResponse

    Field NameTypeDescription
    valueAccount

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Account instance in this response.

    AccountSomeRequest

    Field NameTypeDescription
    keysAccountKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AccountSomeResponse

    Field NameTypeDescription
    valueAccount

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AccountStreamRequest

    Field NameTypeDescription
    partial_eq_filterAccount[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Account at end.

    * Each Account response is fully-specified (all fields set).

    * start: Returns the state of each Account at start, followed by updates until now.

    * Each Account response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Account at start, followed by updates

    until end.

    * Each Account response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AccountStreamResponse

    Field NameTypeDescription
    valueAccount

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Account’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Account value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    TokenConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterTokenConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    TokenConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyTokenKey

    This is the key of the TokenConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    TokenConfigDeleteRequest

    Field NameTypeDescription
    keyTokenKey

    Key indicates which TokenConfig instance to remove.

    This field must always be set.

    TokenConfigDeleteResponse

    Field NameTypeDescription
    keyTokenKey

    Key echoes back the key of the deleted TokenConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    TokenConfigDeleteSomeRequest

    Field NameTypeDescription
    keysTokenKey[…]

    key contains a list of TokenConfig keys to delete

    TokenConfigDeleteSomeResponse

    TokenConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyTokenKey

    errorstring

    TokenConfigRequest

    Field NameTypeDescription
    keyTokenKey

    Key uniquely identifies a TokenConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TokenConfigResponse

    Field NameTypeDescription
    valueTokenConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    TokenConfig instance in this response.

    TokenConfigSetRequest

    Field NameTypeDescription
    valueTokenConfig

    TokenConfig carries the value to set into the datastore.

    See the documentation on the TokenConfig struct for which fields are required.

    TokenConfigSetResponse

    Field NameTypeDescription
    valueTokenConfig

    Value carries all the values given in the TokenConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    TokenConfigSetSomeRequest

    Field NameTypeDescription
    valuesTokenConfig[…]

    value contains a list of TokenConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    TokenConfigSetSomeResponse

    Field NameTypeDescription
    keyTokenKey

    errorstring

    TokenConfigSomeRequest

    Field NameTypeDescription
    keysTokenKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TokenConfigSomeResponse

    Field NameTypeDescription
    valueTokenConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TokenConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterTokenConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TokenConfig at end.

    * Each TokenConfig response is fully-specified (all fields set).

    * start: Returns the state of each TokenConfig at start, followed by updates until now.

    * Each TokenConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TokenConfig at start, followed by updates

    until end.

    * Each TokenConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TokenConfigStreamResponse

    Field NameTypeDescription
    valueTokenConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this TokenConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the TokenConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    TokenRequest

    Field NameTypeDescription
    keyTokenKey

    Key uniquely identifies a Token instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TokenResponse

    Field NameTypeDescription
    valueToken

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Token instance in this response.

    TokenSomeRequest

    Field NameTypeDescription
    keysTokenKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TokenSomeResponse

    Field NameTypeDescription
    valueToken

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TokenStreamRequest

    Field NameTypeDescription
    partial_eq_filterToken[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Token at end.

    * Each Token response is fully-specified (all fields set).

    * start: Returns the state of each Token at start, followed by updates until now.

    * Each Token response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Token at start, followed by updates

    until end.

    * Each Token response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TokenStreamResponse

    Field NameTypeDescription
    valueToken

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Token’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Token value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AccountConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneAccountConfigRequestAccountConfigResponse

    GetSomeAccountConfigSomeRequestAccountConfigSomeResponse stream

    GetAllAccountConfigStreamRequestAccountConfigStreamResponse stream

    SubscribeAccountConfigStreamRequestAccountConfigStreamResponse stream

    GetMetaAccountConfigStreamRequestMetaResponse

    SubscribeMetaAccountConfigStreamRequestMetaResponse stream

    SetAccountConfigSetRequestAccountConfigSetResponse

    SetSomeAccountConfigSetSomeRequestAccountConfigSetSomeResponse stream

    DeleteAccountConfigDeleteRequestAccountConfigDeleteResponse

    DeleteSomeAccountConfigDeleteSomeRequestAccountConfigDeleteSomeResponse stream

    DeleteAllAccountConfigDeleteAllRequestAccountConfigDeleteAllResponse stream

    AccountService

    Method NameRequest TypeResponse TypeDescription
    GetOneAccountRequestAccountResponse

    GetSomeAccountSomeRequestAccountSomeResponse stream

    GetAllAccountStreamRequestAccountStreamResponse stream

    SubscribeAccountStreamRequestAccountStreamResponse stream

    GetMetaAccountStreamRequestMetaResponse

    SubscribeMetaAccountStreamRequestMetaResponse stream

    TokenConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneTokenConfigRequestTokenConfigResponse

    GetSomeTokenConfigSomeRequestTokenConfigSomeResponse stream

    GetAllTokenConfigStreamRequestTokenConfigStreamResponse stream

    SubscribeTokenConfigStreamRequestTokenConfigStreamResponse stream

    GetMetaTokenConfigStreamRequestMetaResponse

    SubscribeMetaTokenConfigStreamRequestMetaResponse stream

    SetTokenConfigSetRequestTokenConfigSetResponse

    SetSomeTokenConfigSetSomeRequestTokenConfigSetSomeResponse stream

    DeleteTokenConfigDeleteRequestTokenConfigDeleteResponse

    DeleteSomeTokenConfigDeleteSomeRequestTokenConfigDeleteSomeResponse stream

    DeleteAllTokenConfigDeleteAllRequestTokenConfigDeleteAllResponse stream

    TokenService

    Method NameRequest TypeResponse TypeDescription
    GetOneTokenRequestTokenResponse

    GetSomeTokenSomeRequestTokenSomeResponse stream

    GetAllTokenStreamRequestTokenStreamResponse stream

    SubscribeTokenStreamRequestTokenStreamResponse stream

    GetMetaTokenStreamRequestMetaResponse

    SubscribeMetaTokenStreamRequestMetaResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/studio.v1/index.html b/models/studio.v1/index.html index 97a081d5..ac05b758 100644 --- a/models/studio.v1/index.html +++ b/models/studio.v1/index.html @@ -1,7 +1,7 @@ -studio.v1 :: Arista Networks FMP APIs -

    studio.v1

    Top

    arista/studio.v1/studio.proto

    NOTE: This is a workspace-aware Resource API. @@ -29,4 +29,4 @@ can be specified in a studio.

    NameNumberDescription
    RESOLVER_FIELD_INPUT_MODE_UNSPECIFIED0

    RESOLVER_FIELD_INPUT_MODE_UNSPECIFIED indicates an unspecified resolver input mode.

    RESOLVER_FIELD_INPUT_MODE_SINGLE_DEVICE_TAG1

    RESOLVER_FIELD_INPUT_MODE_SINGLE_DEVICE_TAG allows devices to be

    selected based on a single tag label.

    RESOLVER_FIELD_INPUT_MODE_SINGLE_INTERFACE_TAG2

    RESOLVER_FIELD_INPUT_MODE_SINGLE_INTERFACE_TAG allows interfaces

    to be selected based on a single tag label.

    RESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG3

    RESOLVER_FIELD_INPUT_MODE_MULTI_DEVICE_TAG allows devices to be

    selected based on any tag label.

    RESOLVER_FIELD_INPUT_MODE_MULTI_INTERFACE_TAG4

    RESOLVER_FIELD_INPUT_MODE_MULTI_INTERFACE_TAG allows interfaces

    to be selected based on any tag label.

    TagMatcherFieldMode

    TagMatcherFieldMode defines the set of ways a tag query for matching device or interfaces can be specified in a studio.

    NameNumberDescription
    TAG_MATCHER_FIELD_MODE_UNSPECIFIED0

    TAG_MATCHER_FIELD_MODE_UNSPECIFIED indicates an unspecified tag matcher mode.

    TAG_MATCHER_FIELD_MODE_SINGLE_DEVICE_TAG1

    TAG_MATCHER_FIELD_MODE_SINGLE_DEVICE_TAG allows devices to be

    selected based on a single tag label.

    TAG_MATCHER_FIELD_MODE_SINGLE_INTERFACE_TAG2

    TAG_MATCHER_FIELD_MODE_SINGLE_INTERFACE_TAG allows interfaces

    to be selected based on a single tag label.

    TAG_MATCHER_FIELD_MODE_MULTI_DEVICE_TAG3

    TAG_MATCHER_FIELD_MODE_MULTI_DEVICE_TAG allows devices to be

    selected based on any tag label.

    TAG_MATCHER_FIELD_MODE_MULTI_INTERFACE_TAG4

    TAG_MATCHER_FIELD_MODE_MULTI_INTERFACE_TAG allows interfaces

    to be selected based on any tag label.

    TemplateType

    TemplateType defines the set of supported languages that can be used in studio templates.

    NameNumberDescription
    TEMPLATE_TYPE_UNSPECIFIED0

    TEMPLATE_TYPE_UNSPECIFIED indicates an unspecified template type.

    TEMPLATE_TYPE_MAKO1

    TEMPLATE_TYPE_MAKO is the Mako templating language for Python.

    More information: https://www.makotemplates.org

    TEMPLATE_TYPE_JINJA2

    TEMPLATE_TYPE_JINJA is the Jinja templating language for Python.

    More information: https://palletsprojects.com/p/jinja

    TEMPLATE_TYPE_GO3

    TEMPLATE_TYPE_GO is the Go templating language.

    More information: https://pkg.go.dev/text/template

    NOTE: Not all template functions are supported for this type.

    Top

    arista/studio.v1/services.gen.proto

    AssignedTagsBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterAssignedTags[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AssignedTags at end.

    * Each AssignedTags response is fully-specified (all fields set).

    * start: Returns the state of each AssignedTags at start, followed by updates until now.

    * Each AssignedTags response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AssignedTags at start, followed by updates

    until end.

    * Each AssignedTags response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    AssignedTagsBatchedStreamResponse

    Field NameTypeDescription
    responsesAssignedTagsStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    AssignedTagsConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterAssignedTagsConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AssignedTagsConfig at end.

    * Each AssignedTagsConfig response is fully-specified (all fields set).

    * start: Returns the state of each AssignedTagsConfig at start, followed by updates until now.

    * Each AssignedTagsConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AssignedTagsConfig at start, followed by updates

    until end.

    * Each AssignedTagsConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    AssignedTagsConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesAssignedTagsConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    AssignedTagsConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterAssignedTagsConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    AssignedTagsConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyStudioKey

    This is the key of the AssignedTagsConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    AssignedTagsConfigDeleteRequest

    Field NameTypeDescription
    keyStudioKey

    Key indicates which AssignedTagsConfig instance to remove.

    This field must always be set.

    AssignedTagsConfigDeleteResponse

    Field NameTypeDescription
    keyStudioKey

    Key echoes back the key of the deleted AssignedTagsConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    AssignedTagsConfigDeleteSomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    key contains a list of AssignedTagsConfig keys to delete

    AssignedTagsConfigDeleteSomeResponse

    AssignedTagsConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyStudioKey

    errorstring

    AssignedTagsConfigRequest

    Field NameTypeDescription
    keyStudioKey

    Key uniquely identifies a AssignedTagsConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AssignedTagsConfigResponse

    Field NameTypeDescription
    valueAssignedTagsConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    AssignedTagsConfig instance in this response.

    AssignedTagsConfigSetRequest

    Field NameTypeDescription
    valueAssignedTagsConfig

    AssignedTagsConfig carries the value to set into the datastore.

    See the documentation on the AssignedTagsConfig struct for which fields are required.

    AssignedTagsConfigSetResponse

    Field NameTypeDescription
    valueAssignedTagsConfig

    Value carries all the values given in the AssignedTagsConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    AssignedTagsConfigSetSomeRequest

    Field NameTypeDescription
    valuesAssignedTagsConfig[…]

    value contains a list of AssignedTagsConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    AssignedTagsConfigSetSomeResponse

    Field NameTypeDescription
    keyStudioKey

    errorstring

    AssignedTagsConfigSomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AssignedTagsConfigSomeResponse

    Field NameTypeDescription
    valueAssignedTagsConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AssignedTagsConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterAssignedTagsConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AssignedTagsConfig at end.

    * Each AssignedTagsConfig response is fully-specified (all fields set).

    * start: Returns the state of each AssignedTagsConfig at start, followed by updates until now.

    * Each AssignedTagsConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AssignedTagsConfig at start, followed by updates

    until end.

    * Each AssignedTagsConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AssignedTagsConfigStreamResponse

    Field NameTypeDescription
    valueAssignedTagsConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this AssignedTagsConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the AssignedTagsConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AssignedTagsRequest

    Field NameTypeDescription
    keyStudioKey

    Key uniquely identifies a AssignedTags instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AssignedTagsResponse

    Field NameTypeDescription
    valueAssignedTags

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    AssignedTags instance in this response.

    AssignedTagsSomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AssignedTagsSomeResponse

    Field NameTypeDescription
    valueAssignedTags

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AssignedTagsStreamRequest

    Field NameTypeDescription
    partial_eq_filterAssignedTags[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AssignedTags at end.

    * Each AssignedTags response is fully-specified (all fields set).

    * start: Returns the state of each AssignedTags at start, followed by updates until now.

    * Each AssignedTags response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AssignedTags at start, followed by updates

    until end.

    * Each AssignedTags response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AssignedTagsStreamResponse

    Field NameTypeDescription
    valueAssignedTags

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this AssignedTags’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the AssignedTags value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AutofillActionBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterAutofillAction[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AutofillAction at end.

    * Each AutofillAction response is fully-specified (all fields set).

    * start: Returns the state of each AutofillAction at start, followed by updates until now.

    * Each AutofillAction response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AutofillAction at start, followed by updates

    until end.

    * Each AutofillAction response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    AutofillActionBatchedStreamResponse

    Field NameTypeDescription
    responsesAutofillActionStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    AutofillActionConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterAutofillActionConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AutofillActionConfig at end.

    * Each AutofillActionConfig response is fully-specified (all fields set).

    * start: Returns the state of each AutofillActionConfig at start, followed by updates until now.

    * Each AutofillActionConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AutofillActionConfig at start, followed by updates

    until end.

    * Each AutofillActionConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    AutofillActionConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesAutofillActionConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    AutofillActionConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterAutofillActionConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    AutofillActionConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyAutofillActionKey

    This is the key of the AutofillActionConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    AutofillActionConfigDeleteRequest

    Field NameTypeDescription
    keyAutofillActionKey

    Key indicates which AutofillActionConfig instance to remove.

    This field must always be set.

    AutofillActionConfigDeleteResponse

    Field NameTypeDescription
    keyAutofillActionKey

    Key echoes back the key of the deleted AutofillActionConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    AutofillActionConfigDeleteSomeRequest

    Field NameTypeDescription
    keysAutofillActionKey[…]

    key contains a list of AutofillActionConfig keys to delete

    AutofillActionConfigDeleteSomeResponse

    AutofillActionConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyAutofillActionKey

    errorstring

    AutofillActionConfigRequest

    Field NameTypeDescription
    keyAutofillActionKey

    Key uniquely identifies a AutofillActionConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AutofillActionConfigResponse

    Field NameTypeDescription
    valueAutofillActionConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    AutofillActionConfig instance in this response.

    AutofillActionConfigSetRequest

    Field NameTypeDescription
    valueAutofillActionConfig

    AutofillActionConfig carries the value to set into the datastore.

    See the documentation on the AutofillActionConfig struct for which fields are required.

    AutofillActionConfigSetResponse

    Field NameTypeDescription
    valueAutofillActionConfig

    Value carries all the values given in the AutofillActionConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    AutofillActionConfigSetSomeRequest

    Field NameTypeDescription
    valuesAutofillActionConfig[…]

    value contains a list of AutofillActionConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    AutofillActionConfigSetSomeResponse

    Field NameTypeDescription
    keyAutofillActionKey

    errorstring

    AutofillActionConfigSomeRequest

    Field NameTypeDescription
    keysAutofillActionKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AutofillActionConfigSomeResponse

    Field NameTypeDescription
    valueAutofillActionConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AutofillActionConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterAutofillActionConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AutofillActionConfig at end.

    * Each AutofillActionConfig response is fully-specified (all fields set).

    * start: Returns the state of each AutofillActionConfig at start, followed by updates until now.

    * Each AutofillActionConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AutofillActionConfig at start, followed by updates

    until end.

    * Each AutofillActionConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AutofillActionConfigStreamResponse

    Field NameTypeDescription
    valueAutofillActionConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this AutofillActionConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the AutofillActionConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AutofillActionRequest

    Field NameTypeDescription
    keyAutofillActionKey

    Key uniquely identifies a AutofillAction instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AutofillActionResponse

    Field NameTypeDescription
    valueAutofillAction

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    AutofillAction instance in this response.

    AutofillActionSomeRequest

    Field NameTypeDescription
    keysAutofillActionKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    AutofillActionSomeResponse

    Field NameTypeDescription
    valueAutofillAction

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    AutofillActionStreamRequest

    Field NameTypeDescription
    partial_eq_filterAutofillAction[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each AutofillAction at end.

    * Each AutofillAction response is fully-specified (all fields set).

    * start: Returns the state of each AutofillAction at start, followed by updates until now.

    * Each AutofillAction response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each AutofillAction at start, followed by updates

    until end.

    * Each AutofillAction response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    AutofillActionStreamResponse

    Field NameTypeDescription
    valueAutofillAction

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this AutofillAction’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the AutofillAction value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    InputsBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterInputs[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Inputs at end.

    * Each Inputs response is fully-specified (all fields set).

    * start: Returns the state of each Inputs at start, followed by updates until now.

    * Each Inputs response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Inputs at start, followed by updates

    until end.

    * Each Inputs response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    InputsBatchedStreamResponse

    Field NameTypeDescription
    responsesInputsStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    InputsConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterInputsConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each InputsConfig at end.

    * Each InputsConfig response is fully-specified (all fields set).

    * start: Returns the state of each InputsConfig at start, followed by updates until now.

    * Each InputsConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each InputsConfig at start, followed by updates

    until end.

    * Each InputsConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    InputsConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesInputsConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    InputsConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterInputsConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    InputsConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyInputsKey

    This is the key of the InputsConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    InputsConfigDeleteRequest

    Field NameTypeDescription
    keyInputsKey

    Key indicates which InputsConfig instance to remove.

    This field must always be set.

    InputsConfigDeleteResponse

    Field NameTypeDescription
    keyInputsKey

    Key echoes back the key of the deleted InputsConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    InputsConfigDeleteSomeRequest

    Field NameTypeDescription
    keysInputsKey[…]

    key contains a list of InputsConfig keys to delete

    InputsConfigDeleteSomeResponse

    InputsConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyInputsKey

    errorstring

    InputsConfigRequest

    Field NameTypeDescription
    keyInputsKey

    Key uniquely identifies a InputsConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    InputsConfigResponse

    Field NameTypeDescription
    valueInputsConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    InputsConfig instance in this response.

    InputsConfigSetRequest

    Field NameTypeDescription
    valueInputsConfig

    InputsConfig carries the value to set into the datastore.

    See the documentation on the InputsConfig struct for which fields are required.

    InputsConfigSetResponse

    Field NameTypeDescription
    valueInputsConfig

    Value carries all the values given in the InputsConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    InputsConfigSetSomeRequest

    Field NameTypeDescription
    valuesInputsConfig[…]

    value contains a list of InputsConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    InputsConfigSetSomeResponse

    Field NameTypeDescription
    keyInputsKey

    errorstring

    InputsConfigSomeRequest

    Field NameTypeDescription
    keysInputsKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    InputsConfigSomeResponse

    Field NameTypeDescription
    valueInputsConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    InputsConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterInputsConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each InputsConfig at end.

    * Each InputsConfig response is fully-specified (all fields set).

    * start: Returns the state of each InputsConfig at start, followed by updates until now.

    * Each InputsConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each InputsConfig at start, followed by updates

    until end.

    * Each InputsConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    InputsConfigStreamResponse

    Field NameTypeDescription
    valueInputsConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this InputsConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the InputsConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    InputsRequest

    Field NameTypeDescription
    keyInputsKey

    Key uniquely identifies a Inputs instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    InputsResponse

    Field NameTypeDescription
    valueInputs

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Inputs instance in this response.

    InputsSomeRequest

    Field NameTypeDescription
    keysInputsKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    InputsSomeResponse

    Field NameTypeDescription
    valueInputs

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    InputsStreamRequest

    Field NameTypeDescription
    partial_eq_filterInputs[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Inputs at end.

    * Each Inputs response is fully-specified (all fields set).

    * start: Returns the state of each Inputs at start, followed by updates until now.

    * Each Inputs response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Inputs at start, followed by updates

    until end.

    * Each Inputs response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    InputsStreamResponse

    Field NameTypeDescription
    valueInputs

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Inputs’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Inputs value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    SecretInputBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecretInput[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecretInput at end.

    * Each SecretInput response is fully-specified (all fields set).

    * start: Returns the state of each SecretInput at start, followed by updates until now.

    * Each SecretInput response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecretInput at start, followed by updates

    until end.

    * Each SecretInput response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    SecretInputBatchedStreamResponse

    Field NameTypeDescription
    responsesSecretInputStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    SecretInputRequest

    Field NameTypeDescription
    keyInputsKey

    Key uniquely identifies a SecretInput instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecretInputResponse

    Field NameTypeDescription
    valueSecretInput

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    SecretInput instance in this response.

    SecretInputSomeRequest

    Field NameTypeDescription
    keysInputsKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    SecretInputSomeResponse

    Field NameTypeDescription
    valueSecretInput

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    SecretInputStreamRequest

    Field NameTypeDescription
    partial_eq_filterSecretInput[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each SecretInput at end.

    * Each SecretInput response is fully-specified (all fields set).

    * start: Returns the state of each SecretInput at start, followed by updates until now.

    * Each SecretInput response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each SecretInput at start, followed by updates

    until end.

    * Each SecretInput response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    SecretInputStreamResponse

    Field NameTypeDescription
    valueSecretInput

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this SecretInput’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the SecretInput value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    StudioBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterStudio[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Studio at end.

    * Each Studio response is fully-specified (all fields set).

    * start: Returns the state of each Studio at start, followed by updates until now.

    * Each Studio response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Studio at start, followed by updates

    until end.

    * Each Studio response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    StudioBatchedStreamResponse

    Field NameTypeDescription
    responsesStudioStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    StudioConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterStudioConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each StudioConfig at end.

    * Each StudioConfig response is fully-specified (all fields set).

    * start: Returns the state of each StudioConfig at start, followed by updates until now.

    * Each StudioConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each StudioConfig at start, followed by updates

    until end.

    * Each StudioConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    StudioConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesStudioConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    StudioConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterStudioConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    StudioConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyStudioKey

    This is the key of the StudioConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    StudioConfigDeleteRequest

    Field NameTypeDescription
    keyStudioKey

    Key indicates which StudioConfig instance to remove.

    This field must always be set.

    StudioConfigDeleteResponse

    Field NameTypeDescription
    keyStudioKey

    Key echoes back the key of the deleted StudioConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    StudioConfigDeleteSomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    key contains a list of StudioConfig keys to delete

    StudioConfigDeleteSomeResponse

    StudioConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyStudioKey

    errorstring

    StudioConfigRequest

    Field NameTypeDescription
    keyStudioKey

    Key uniquely identifies a StudioConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    StudioConfigResponse

    Field NameTypeDescription
    valueStudioConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    StudioConfig instance in this response.

    StudioConfigSetRequest

    Field NameTypeDescription
    valueStudioConfig

    StudioConfig carries the value to set into the datastore.

    See the documentation on the StudioConfig struct for which fields are required.

    StudioConfigSetResponse

    Field NameTypeDescription
    valueStudioConfig

    Value carries all the values given in the StudioConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    StudioConfigSetSomeRequest

    Field NameTypeDescription
    valuesStudioConfig[…]

    value contains a list of StudioConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    StudioConfigSetSomeResponse

    Field NameTypeDescription
    keyStudioKey

    errorstring

    StudioConfigSomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    StudioConfigSomeResponse

    Field NameTypeDescription
    valueStudioConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    StudioConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterStudioConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each StudioConfig at end.

    * Each StudioConfig response is fully-specified (all fields set).

    * start: Returns the state of each StudioConfig at start, followed by updates until now.

    * Each StudioConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each StudioConfig at start, followed by updates

    until end.

    * Each StudioConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    StudioConfigStreamResponse

    Field NameTypeDescription
    valueStudioConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this StudioConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the StudioConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    StudioRequest

    Field NameTypeDescription
    keyStudioKey

    Key uniquely identifies a Studio instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    StudioResponse

    Field NameTypeDescription
    valueStudio

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Studio instance in this response.

    StudioSomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    StudioSomeResponse

    Field NameTypeDescription
    valueStudio

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    StudioStreamRequest

    Field NameTypeDescription
    partial_eq_filterStudio[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Studio at end.

    * Each Studio response is fully-specified (all fields set).

    * start: Returns the state of each Studio at start, followed by updates until now.

    * Each Studio response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Studio at start, followed by updates

    until end.

    * Each Studio response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    StudioStreamResponse

    Field NameTypeDescription
    valueStudio

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Studio’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Studio value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    StudioSummaryBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterStudioSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each StudioSummary at end.

    * Each StudioSummary response is fully-specified (all fields set).

    * start: Returns the state of each StudioSummary at start, followed by updates until now.

    * Each StudioSummary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each StudioSummary at start, followed by updates

    until end.

    * Each StudioSummary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    StudioSummaryBatchedStreamResponse

    Field NameTypeDescription
    responsesStudioSummaryStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    StudioSummaryRequest

    Field NameTypeDescription
    keyStudioKey

    Key uniquely identifies a StudioSummary instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    StudioSummaryResponse

    Field NameTypeDescription
    valueStudioSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    StudioSummary instance in this response.

    StudioSummarySomeRequest

    Field NameTypeDescription
    keysStudioKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    StudioSummarySomeResponse

    Field NameTypeDescription
    valueStudioSummary

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    StudioSummaryStreamRequest

    Field NameTypeDescription
    partial_eq_filterStudioSummary[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each StudioSummary at end.

    * Each StudioSummary response is fully-specified (all fields set).

    * start: Returns the state of each StudioSummary at start, followed by updates until now.

    * Each StudioSummary response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each StudioSummary at start, followed by updates

    until end.

    * Each StudioSummary response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    StudioSummaryStreamResponse

    Field NameTypeDescription
    valueStudioSummary

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this StudioSummary’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the StudioSummary value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    AssignedTagsConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneAssignedTagsConfigRequestAssignedTagsConfigResponse

    GetSomeAssignedTagsConfigSomeRequestAssignedTagsConfigSomeResponse stream

    GetAllAssignedTagsConfigStreamRequestAssignedTagsConfigStreamResponse stream

    SubscribeAssignedTagsConfigStreamRequestAssignedTagsConfigStreamResponse stream

    GetMetaAssignedTagsConfigStreamRequestMetaResponse

    SubscribeMetaAssignedTagsConfigStreamRequestMetaResponse stream

    SetAssignedTagsConfigSetRequestAssignedTagsConfigSetResponse

    SetSomeAssignedTagsConfigSetSomeRequestAssignedTagsConfigSetSomeResponse stream

    DeleteAssignedTagsConfigDeleteRequestAssignedTagsConfigDeleteResponse

    DeleteSomeAssignedTagsConfigDeleteSomeRequestAssignedTagsConfigDeleteSomeResponse stream

    DeleteAllAssignedTagsConfigDeleteAllRequestAssignedTagsConfigDeleteAllResponse stream

    GetAllBatchedAssignedTagsConfigBatchedStreamRequestAssignedTagsConfigBatchedStreamResponse stream

    SubscribeBatchedAssignedTagsConfigBatchedStreamRequestAssignedTagsConfigBatchedStreamResponse stream

    AssignedTagsService

    Method NameRequest TypeResponse TypeDescription
    GetOneAssignedTagsRequestAssignedTagsResponse

    GetSomeAssignedTagsSomeRequestAssignedTagsSomeResponse stream

    GetAllAssignedTagsStreamRequestAssignedTagsStreamResponse stream

    SubscribeAssignedTagsStreamRequestAssignedTagsStreamResponse stream

    GetMetaAssignedTagsStreamRequestMetaResponse

    SubscribeMetaAssignedTagsStreamRequestMetaResponse stream

    GetAllBatchedAssignedTagsBatchedStreamRequestAssignedTagsBatchedStreamResponse stream

    SubscribeBatchedAssignedTagsBatchedStreamRequestAssignedTagsBatchedStreamResponse stream

    AutofillActionConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneAutofillActionConfigRequestAutofillActionConfigResponse

    GetSomeAutofillActionConfigSomeRequestAutofillActionConfigSomeResponse stream

    GetAllAutofillActionConfigStreamRequestAutofillActionConfigStreamResponse stream

    SubscribeAutofillActionConfigStreamRequestAutofillActionConfigStreamResponse stream

    GetMetaAutofillActionConfigStreamRequestMetaResponse

    SubscribeMetaAutofillActionConfigStreamRequestMetaResponse stream

    SetAutofillActionConfigSetRequestAutofillActionConfigSetResponse

    SetSomeAutofillActionConfigSetSomeRequestAutofillActionConfigSetSomeResponse stream

    DeleteAutofillActionConfigDeleteRequestAutofillActionConfigDeleteResponse

    DeleteSomeAutofillActionConfigDeleteSomeRequestAutofillActionConfigDeleteSomeResponse stream

    DeleteAllAutofillActionConfigDeleteAllRequestAutofillActionConfigDeleteAllResponse stream

    GetAllBatchedAutofillActionConfigBatchedStreamRequestAutofillActionConfigBatchedStreamResponse stream

    SubscribeBatchedAutofillActionConfigBatchedStreamRequestAutofillActionConfigBatchedStreamResponse stream

    AutofillActionService

    Method NameRequest TypeResponse TypeDescription
    GetOneAutofillActionRequestAutofillActionResponse

    GetSomeAutofillActionSomeRequestAutofillActionSomeResponse stream

    GetAllAutofillActionStreamRequestAutofillActionStreamResponse stream

    SubscribeAutofillActionStreamRequestAutofillActionStreamResponse stream

    GetMetaAutofillActionStreamRequestMetaResponse

    SubscribeMetaAutofillActionStreamRequestMetaResponse stream

    GetAllBatchedAutofillActionBatchedStreamRequestAutofillActionBatchedStreamResponse stream

    SubscribeBatchedAutofillActionBatchedStreamRequestAutofillActionBatchedStreamResponse stream

    InputsConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneInputsConfigRequestInputsConfigResponse

    GetSomeInputsConfigSomeRequestInputsConfigSomeResponse stream

    GetAllInputsConfigStreamRequestInputsConfigStreamResponse stream

    SubscribeInputsConfigStreamRequestInputsConfigStreamResponse stream

    GetMetaInputsConfigStreamRequestMetaResponse

    SubscribeMetaInputsConfigStreamRequestMetaResponse stream

    SetInputsConfigSetRequestInputsConfigSetResponse

    SetSomeInputsConfigSetSomeRequestInputsConfigSetSomeResponse stream

    DeleteInputsConfigDeleteRequestInputsConfigDeleteResponse

    DeleteSomeInputsConfigDeleteSomeRequestInputsConfigDeleteSomeResponse stream

    DeleteAllInputsConfigDeleteAllRequestInputsConfigDeleteAllResponse stream

    GetAllBatchedInputsConfigBatchedStreamRequestInputsConfigBatchedStreamResponse stream

    SubscribeBatchedInputsConfigBatchedStreamRequestInputsConfigBatchedStreamResponse stream

    InputsService

    Method NameRequest TypeResponse TypeDescription
    GetOneInputsRequestInputsResponse

    GetSomeInputsSomeRequestInputsSomeResponse stream

    GetAllInputsStreamRequestInputsStreamResponse stream

    SubscribeInputsStreamRequestInputsStreamResponse stream

    GetMetaInputsStreamRequestMetaResponse

    SubscribeMetaInputsStreamRequestMetaResponse stream

    GetAllBatchedInputsBatchedStreamRequestInputsBatchedStreamResponse stream

    SubscribeBatchedInputsBatchedStreamRequestInputsBatchedStreamResponse stream

    SecretInputService

    Method NameRequest TypeResponse TypeDescription
    GetOneSecretInputRequestSecretInputResponse

    GetSomeSecretInputSomeRequestSecretInputSomeResponse stream

    GetAllSecretInputStreamRequestSecretInputStreamResponse stream

    SubscribeSecretInputStreamRequestSecretInputStreamResponse stream

    GetMetaSecretInputStreamRequestMetaResponse

    SubscribeMetaSecretInputStreamRequestMetaResponse stream

    GetAllBatchedSecretInputBatchedStreamRequestSecretInputBatchedStreamResponse stream

    SubscribeBatchedSecretInputBatchedStreamRequestSecretInputBatchedStreamResponse stream

    StudioConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneStudioConfigRequestStudioConfigResponse

    GetSomeStudioConfigSomeRequestStudioConfigSomeResponse stream

    GetAllStudioConfigStreamRequestStudioConfigStreamResponse stream

    SubscribeStudioConfigStreamRequestStudioConfigStreamResponse stream

    GetMetaStudioConfigStreamRequestMetaResponse

    SubscribeMetaStudioConfigStreamRequestMetaResponse stream

    SetStudioConfigSetRequestStudioConfigSetResponse

    SetSomeStudioConfigSetSomeRequestStudioConfigSetSomeResponse stream

    DeleteStudioConfigDeleteRequestStudioConfigDeleteResponse

    DeleteSomeStudioConfigDeleteSomeRequestStudioConfigDeleteSomeResponse stream

    DeleteAllStudioConfigDeleteAllRequestStudioConfigDeleteAllResponse stream

    GetAllBatchedStudioConfigBatchedStreamRequestStudioConfigBatchedStreamResponse stream

    SubscribeBatchedStudioConfigBatchedStreamRequestStudioConfigBatchedStreamResponse stream

    StudioService

    Method NameRequest TypeResponse TypeDescription
    GetOneStudioRequestStudioResponse

    GetSomeStudioSomeRequestStudioSomeResponse stream

    GetAllStudioStreamRequestStudioStreamResponse stream

    SubscribeStudioStreamRequestStudioStreamResponse stream

    GetMetaStudioStreamRequestMetaResponse

    SubscribeMetaStudioStreamRequestMetaResponse stream

    GetAllBatchedStudioBatchedStreamRequestStudioBatchedStreamResponse stream

    SubscribeBatchedStudioBatchedStreamRequestStudioBatchedStreamResponse stream

    StudioSummaryService

    Method NameRequest TypeResponse TypeDescription
    GetOneStudioSummaryRequestStudioSummaryResponse

    GetSomeStudioSummarySomeRequestStudioSummarySomeResponse stream

    GetAllStudioSummaryStreamRequestStudioSummaryStreamResponse stream

    SubscribeStudioSummaryStreamRequestStudioSummaryStreamResponse stream

    GetMetaStudioSummaryStreamRequestMetaResponse

    SubscribeMetaStudioSummaryStreamRequestMetaResponse stream

    GetAllBatchedStudioSummaryBatchedStreamRequestStudioSummaryBatchedStreamResponse stream

    SubscribeBatchedStudioSummaryBatchedStreamRequestStudioSummaryBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/tag.v2/index.html b/models/tag.v2/index.html index 4c875e0a..5cfbb3ce 100644 --- a/models/tag.v2/index.html +++ b/models/tag.v2/index.html @@ -1,7 +1,7 @@ -tag.v2 :: Arista Networks FMP APIs -

    tag.v2

    Top

    arista/tag.v2/tag.proto

    Tag

    Tag holds a merge-preview or the existing merged state (if the @@ -17,4 +17,4 @@ a tag.

    NameNumberDescription
    CREATOR_TYPE_UNSPECIFIED0

    CREATOR_TYPE_UNSPECIFIED is the default value.

    CREATOR_TYPE_SYSTEM1

    CREATOR_TYPE_SYSTEM is used for system tags.

    CREATOR_TYPE_USER2

    CREATOR_TYPE_USER is used for user tags.

    CREATOR_TYPE_EXTERNAL3

    CREATOR_TYPE_EXTERNAL is used for tags created from external sources.

    For E.g., vCenter

    ElementSubType

    ElementSubType enumerates the sub-types of network elements that can be associated with tags.

    NameNumberDescription
    ELEMENT_SUB_TYPE_UNSPECIFIED0

    ELEMENT_SUB_TYPE_UNSPECIFIED is the default value.

    ELEMENT_SUB_TYPE_DEVICE1

    ELEMENT_SUB_TYPE_DEVICE is used for EOS or

    third-party devices discovered via LLDP/SNMP.

    ELEMENT_SUB_TYPE_VDS2

    ELEMENT_SUB_TYPE_VDS is used for VMWare vSphere Distributed Switch (VDS) tags.

    ELEMENT_SUB_TYPE_WORKLOAD_SERVER3

    ELEMENT_SUB_TYPE_WORKLOAD_SERVER is used for workload server

    tags (such as VMWare ESXi host).

    A workload server is a server/data storage device on which

    the hypervisor is installed.

    ELEMENT_SUB_TYPE_VM4

    ELEMENT_SUB_TYPE_VM is used for VM tags.

    A VM is a software computer that, like a physical computer,

    runs an operating system and applications.

    ElementType

    ElementType enumerates the types of network elements that can be associated with tags.

    NameNumberDescription
    ELEMENT_TYPE_UNSPECIFIED0

    ELEMENT_TYPE_UNSPECIFIED is the default value.

    ELEMENT_TYPE_DEVICE1

    ELEMENT_TYPE_DEVICE is used for device tags.

    ELEMENT_TYPE_INTERFACE2

    ELEMENT_TYPE_INTERFACE is used for interface tags.

    Top

    arista/tag.v2/services.gen.proto

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    TagAssignmentBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterTagAssignment[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TagAssignment at end.

    * Each TagAssignment response is fully-specified (all fields set).

    * start: Returns the state of each TagAssignment at start, followed by updates until now.

    * Each TagAssignment response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TagAssignment at start, followed by updates

    until end.

    * Each TagAssignment response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    TagAssignmentBatchedStreamResponse

    Field NameTypeDescription
    responsesTagAssignmentStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    TagAssignmentConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterTagAssignmentConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TagAssignmentConfig at end.

    * Each TagAssignmentConfig response is fully-specified (all fields set).

    * start: Returns the state of each TagAssignmentConfig at start, followed by updates until now.

    * Each TagAssignmentConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TagAssignmentConfig at start, followed by updates

    until end.

    * Each TagAssignmentConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    TagAssignmentConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesTagAssignmentConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    TagAssignmentConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterTagAssignmentConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    TagAssignmentConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyTagAssignmentKey

    This is the key of the TagAssignmentConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    TagAssignmentConfigDeleteRequest

    Field NameTypeDescription
    keyTagAssignmentKey

    Key indicates which TagAssignmentConfig instance to remove.

    This field must always be set.

    TagAssignmentConfigDeleteResponse

    Field NameTypeDescription
    keyTagAssignmentKey

    Key echoes back the key of the deleted TagAssignmentConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    TagAssignmentConfigDeleteSomeRequest

    Field NameTypeDescription
    keysTagAssignmentKey[…]

    key contains a list of TagAssignmentConfig keys to delete

    TagAssignmentConfigDeleteSomeResponse

    TagAssignmentConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyTagAssignmentKey

    errorstring

    TagAssignmentConfigRequest

    Field NameTypeDescription
    keyTagAssignmentKey

    Key uniquely identifies a TagAssignmentConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagAssignmentConfigResponse

    Field NameTypeDescription
    valueTagAssignmentConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    TagAssignmentConfig instance in this response.

    TagAssignmentConfigSetRequest

    Field NameTypeDescription
    valueTagAssignmentConfig

    TagAssignmentConfig carries the value to set into the datastore.

    See the documentation on the TagAssignmentConfig struct for which fields are required.

    TagAssignmentConfigSetResponse

    Field NameTypeDescription
    valueTagAssignmentConfig

    Value carries all the values given in the TagAssignmentConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    TagAssignmentConfigSetSomeRequest

    Field NameTypeDescription
    valuesTagAssignmentConfig[…]

    value contains a list of TagAssignmentConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    TagAssignmentConfigSetSomeResponse

    Field NameTypeDescription
    keyTagAssignmentKey

    errorstring

    TagAssignmentConfigSomeRequest

    Field NameTypeDescription
    keysTagAssignmentKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagAssignmentConfigSomeResponse

    Field NameTypeDescription
    valueTagAssignmentConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TagAssignmentConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterTagAssignmentConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TagAssignmentConfig at end.

    * Each TagAssignmentConfig response is fully-specified (all fields set).

    * start: Returns the state of each TagAssignmentConfig at start, followed by updates until now.

    * Each TagAssignmentConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TagAssignmentConfig at start, followed by updates

    until end.

    * Each TagAssignmentConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TagAssignmentConfigStreamResponse

    Field NameTypeDescription
    valueTagAssignmentConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this TagAssignmentConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the TagAssignmentConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    TagAssignmentRequest

    Field NameTypeDescription
    keyTagAssignmentKey

    Key uniquely identifies a TagAssignment instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagAssignmentResponse

    Field NameTypeDescription
    valueTagAssignment

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    TagAssignment instance in this response.

    TagAssignmentSomeRequest

    Field NameTypeDescription
    keysTagAssignmentKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagAssignmentSomeResponse

    Field NameTypeDescription
    valueTagAssignment

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TagAssignmentStreamRequest

    Field NameTypeDescription
    partial_eq_filterTagAssignment[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TagAssignment at end.

    * Each TagAssignment response is fully-specified (all fields set).

    * start: Returns the state of each TagAssignment at start, followed by updates until now.

    * Each TagAssignment response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TagAssignment at start, followed by updates

    until end.

    * Each TagAssignment response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TagAssignmentStreamResponse

    Field NameTypeDescription
    valueTagAssignment

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this TagAssignment’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the TagAssignment value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    TagBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterTag[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Tag at end.

    * Each Tag response is fully-specified (all fields set).

    * start: Returns the state of each Tag at start, followed by updates until now.

    * Each Tag response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Tag at start, followed by updates

    until end.

    * Each Tag response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    TagBatchedStreamResponse

    Field NameTypeDescription
    responsesTagStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    TagConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterTagConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TagConfig at end.

    * Each TagConfig response is fully-specified (all fields set).

    * start: Returns the state of each TagConfig at start, followed by updates until now.

    * Each TagConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TagConfig at start, followed by updates

    until end.

    * Each TagConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    TagConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesTagConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    TagConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterTagConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    TagConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyTagKey

    This is the key of the TagConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    TagConfigDeleteRequest

    Field NameTypeDescription
    keyTagKey

    Key indicates which TagConfig instance to remove.

    This field must always be set.

    TagConfigDeleteResponse

    Field NameTypeDescription
    keyTagKey

    Key echoes back the key of the deleted TagConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    TagConfigDeleteSomeRequest

    Field NameTypeDescription
    keysTagKey[…]

    key contains a list of TagConfig keys to delete

    TagConfigDeleteSomeResponse

    TagConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyTagKey

    errorstring

    TagConfigRequest

    Field NameTypeDescription
    keyTagKey

    Key uniquely identifies a TagConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagConfigResponse

    Field NameTypeDescription
    valueTagConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    TagConfig instance in this response.

    TagConfigSetRequest

    Field NameTypeDescription
    valueTagConfig

    TagConfig carries the value to set into the datastore.

    See the documentation on the TagConfig struct for which fields are required.

    TagConfigSetResponse

    Field NameTypeDescription
    valueTagConfig

    Value carries all the values given in the TagConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    TagConfigSetSomeRequest

    Field NameTypeDescription
    valuesTagConfig[…]

    value contains a list of TagConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    TagConfigSetSomeResponse

    Field NameTypeDescription
    keyTagKey

    errorstring

    TagConfigSomeRequest

    Field NameTypeDescription
    keysTagKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagConfigSomeResponse

    Field NameTypeDescription
    valueTagConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TagConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterTagConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each TagConfig at end.

    * Each TagConfig response is fully-specified (all fields set).

    * start: Returns the state of each TagConfig at start, followed by updates until now.

    * Each TagConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each TagConfig at start, followed by updates

    until end.

    * Each TagConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TagConfigStreamResponse

    Field NameTypeDescription
    valueTagConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this TagConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the TagConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    TagRequest

    Field NameTypeDescription
    keyTagKey

    Key uniquely identifies a Tag instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagResponse

    Field NameTypeDescription
    valueTag

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Tag instance in this response.

    TagSomeRequest

    Field NameTypeDescription
    keysTagKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    TagSomeResponse

    Field NameTypeDescription
    valueTag

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    TagStreamRequest

    Field NameTypeDescription
    partial_eq_filterTag[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Tag at end.

    * Each Tag response is fully-specified (all fields set).

    * start: Returns the state of each Tag at start, followed by updates until now.

    * Each Tag response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Tag at start, followed by updates

    until end.

    * Each Tag response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    TagStreamResponse

    Field NameTypeDescription
    valueTag

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Tag’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Tag value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    TagAssignmentConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneTagAssignmentConfigRequestTagAssignmentConfigResponse

    GetSomeTagAssignmentConfigSomeRequestTagAssignmentConfigSomeResponse stream

    GetAllTagAssignmentConfigStreamRequestTagAssignmentConfigStreamResponse stream

    SubscribeTagAssignmentConfigStreamRequestTagAssignmentConfigStreamResponse stream

    GetMetaTagAssignmentConfigStreamRequestMetaResponse

    SubscribeMetaTagAssignmentConfigStreamRequestMetaResponse stream

    SetTagAssignmentConfigSetRequestTagAssignmentConfigSetResponse

    SetSomeTagAssignmentConfigSetSomeRequestTagAssignmentConfigSetSomeResponse stream

    DeleteTagAssignmentConfigDeleteRequestTagAssignmentConfigDeleteResponse

    DeleteSomeTagAssignmentConfigDeleteSomeRequestTagAssignmentConfigDeleteSomeResponse stream

    DeleteAllTagAssignmentConfigDeleteAllRequestTagAssignmentConfigDeleteAllResponse stream

    GetAllBatchedTagAssignmentConfigBatchedStreamRequestTagAssignmentConfigBatchedStreamResponse stream

    SubscribeBatchedTagAssignmentConfigBatchedStreamRequestTagAssignmentConfigBatchedStreamResponse stream

    TagAssignmentService

    Method NameRequest TypeResponse TypeDescription
    GetOneTagAssignmentRequestTagAssignmentResponse

    GetSomeTagAssignmentSomeRequestTagAssignmentSomeResponse stream

    GetAllTagAssignmentStreamRequestTagAssignmentStreamResponse stream

    SubscribeTagAssignmentStreamRequestTagAssignmentStreamResponse stream

    GetMetaTagAssignmentStreamRequestMetaResponse

    SubscribeMetaTagAssignmentStreamRequestMetaResponse stream

    GetAllBatchedTagAssignmentBatchedStreamRequestTagAssignmentBatchedStreamResponse stream

    SubscribeBatchedTagAssignmentBatchedStreamRequestTagAssignmentBatchedStreamResponse stream

    TagConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneTagConfigRequestTagConfigResponse

    GetSomeTagConfigSomeRequestTagConfigSomeResponse stream

    GetAllTagConfigStreamRequestTagConfigStreamResponse stream

    SubscribeTagConfigStreamRequestTagConfigStreamResponse stream

    GetMetaTagConfigStreamRequestMetaResponse

    SubscribeMetaTagConfigStreamRequestMetaResponse stream

    SetTagConfigSetRequestTagConfigSetResponse

    SetSomeTagConfigSetSomeRequestTagConfigSetSomeResponse stream

    DeleteTagConfigDeleteRequestTagConfigDeleteResponse

    DeleteSomeTagConfigDeleteSomeRequestTagConfigDeleteSomeResponse stream

    DeleteAllTagConfigDeleteAllRequestTagConfigDeleteAllResponse stream

    GetAllBatchedTagConfigBatchedStreamRequestTagConfigBatchedStreamResponse stream

    SubscribeBatchedTagConfigBatchedStreamRequestTagConfigBatchedStreamResponse stream

    TagService

    Method NameRequest TypeResponse TypeDescription
    GetOneTagRequestTagResponse

    GetSomeTagSomeRequestTagSomeResponse stream

    GetAllTagStreamRequestTagStreamResponse stream

    SubscribeTagStreamRequestTagStreamResponse stream

    GetMetaTagStreamRequestMetaResponse

    SubscribeMetaTagStreamRequestMetaResponse stream

    GetAllBatchedTagBatchedStreamRequestTagBatchedStreamResponse stream

    SubscribeBatchedTagBatchedStreamRequestTagBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/models/workspace.v1/index.html b/models/workspace.v1/index.html index 6477d7ef..4ff4d279 100644 --- a/models/workspace.v1/index.html +++ b/models/workspace.v1/index.html @@ -1,7 +1,7 @@ -workspace.v1 :: Arista Networks FMP APIs -

    workspace.v1

    Top

    arista/workspace.v1/workspace.proto

    AuthzResult

    AuthzResult has the result of the authorization check for workspace changes.

    Field NameTypeDescription
    has_unauthorized_tag_changegoogle.protobuf.BoolValue

    has_unauthorized_tag_change is true when there is a tag assignment that results

    in change in permissions and the subject is not authorized to do it.

    has_unauthorized_device_changegoogle.protobuf.BoolValue

    has_unauthorized_device_change is true when there is atleast 1 device

    for which the subject doesn’t have provision permission.

    errorgoogle.protobuf.StringValue

    error is an error message that is set when either of the above values

    are true.

    BuildStageState

    BuildStageState holds the state per build stage.

    Field NameTypeDescription
    valuesBuildStageState.ValuesEntry[…]

    values is a map from build stage to build state.

    The possible keys to this map are BUILD_STAGE_UNSPECIFIED,

    BUILD_STAGE_INPUT_VALIDATION, BUILD_STAGE_CONFIGLET_BUILD,

    BUILD_STAGE_CONFIG_VALIDATION and BUILD_STAGE_IMAGE_VALIDATION.

    BuildStageState.ValuesEntry

    Field NameTypeDescription
    keystring

    valueBuildState

    ConfigValidationResult

    ConfigValidationResult holds the result of a config validation stage.

    Field NameTypeDescription
    summaryarista.configstatus.v1.ConfigSummary

    summary is a summary of the changes to the previous config.

    errorsarista.configstatus.v1.ConfigErrors

    errors are any errors detected in the generated config.

    warningsarista.configstatus.v1.ConfigErrors

    warnings are any warnings about the generated config.

    config_sourcesarista.configstatus.v1.ConfigSources

    config_sources identify the entities that generated the config.

    ConfigletBuildResult

    ConfigletBuildResult holds the result of a configlet build stage.

    Field NameTypeDescription
    template_errorsTemplateErrors

    template_errors are errors that occured during studio template evaluation.

    generated_configgoogle.protobuf.StringValue

    generated_config is the EOS CLI config that was generated from the stage.

    other_errorgoogle.protobuf.StringValue

    other_error is any other miscellaneous error.

    execution_idgoogle.protobuf.StringValue

    execution_id is the unique ID for the execution of the template. This ID

    can be used to retrieve logs generated by the template.

    input_errorsInputErrors

    input_errors are errors in input fields that are raised by the template.

    ConfigletBuildResults

    ConfigletBuildResults is a collection of ConfigletBuildResult (one per studio).

    Field NameTypeDescription
    valuesConfigletBuildResults.ValuesEntry[…]

    values is a map from studio ID to ConfigletBuildResult.

    ConfigletBuildResults.ValuesEntry

    Field NameTypeDescription
    keystring

    valueConfigletBuildResult

    ImageValidationResult

    ImageValidationResult holds the result of an image validation stage.

    Field NameTypeDescription
    summaryarista.imagestatus.v1.ImageSummary

    summary is a summary of the changes to the previous image.

    errorsarista.imagestatus.v1.ImageErrors

    errors are any errors detected in the generated image.

    warningsarista.imagestatus.v1.ImageWarnings

    warnings are any warnings about the generated image.

    image_input_errorgoogle.protobuf.StringValue

    image_input_error indicates any errors in image inputs.

    InputError

    InputError holds the details for an error on a studio input field or value.

    Field NameTypeDescription
    field_idgoogle.protobuf.StringValue

    field_id is the ID of the input field.

    pathfmp.RepeatedString

    path is the path leading up to the input field.

    membersfmp.RepeatedString

    members are the members of the input field (if it is a group).

    messagegoogle.protobuf.StringValue

    message is the error message.

    InputErrors

    InputErrors is a list of InputError.

    Field NameTypeDescription
    valuesInputError[…]

    values is a list of InputError.

    InputValidationResult

    InputValidationResult holds the result of an input validation build stage.

    Field NameTypeDescription
    input_schema_errorsInputErrors

    input_schema_errors are errors for fields in the input schema.

    input_value_errorsInputErrors

    input_value_errors are errors for values assigned to fields in the input schema.

    other_errorsfmp.RepeatedString

    other_errors are other miscellaneous errors.

    InputValidationResults

    InputValidationResults is a collection of InputValidationResult (one per studio).

    Field NameTypeDescription
    valuesInputValidationResults.ValuesEntry[…]

    values is map from studio ID to InputValidationResult.

    InputValidationResults.ValuesEntry

    Field NameTypeDescription
    keystring

    valueInputValidationResult

    RequestParams

    RequestParams define the parameters for a Request.

    Field NameTypeDescription
    request_idgoogle.protobuf.StringValue

    request_id is the unique ID of the request. This is used to identify

    the Response for the request in Responses.

    Response

    Response is a response to a Request.

    Field NameTypeDescription
    statusResponseStatus

    status is the execution status of the response.

    messagegoogle.protobuf.StringValue

    message is a string that provides more details about the response.

    codeResponseCode

    code is the code of the response.

    Responses

    Responses is a collection of responses for completed requests.

    Field NameTypeDescription
    valuesResponses.ValuesEntry[…]

    values is a map from request ID to Response.

    Responses.ValuesEntry

    Field NameTypeDescription
    keystring

    valueResponse

    TemplateError

    TemplateError holds details for an error that occured while evaluating a studio @@ -12,4 +12,4 @@ validation stage.

    NameNumberDescription
    IMAGE_VALIDATION_SKIP_CAUSE_UNSPECIFIED0

    IMAGE_VALIDATION_SKIP_CAUSE_UNSPECIFIED indicates image validation skip cause is

    unspecified.

    IMAGE_VALIDATION_SKIP_CAUSE_INACTIVE1

    IMAGE_VALIDATION_SKIP_CAUSE_INACTIVE indicates that the stage was skipped

    because the device is not streaming.

    IMAGE_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED2

    IMAGE_VALIDATION_SKIP_CAUSE_PRE_PROVISIONED indicates that the stage was

    skipped because the device is pre-provisioned.

    IMAGE_VALIDATION_SKIP_CAUSE_IMAGE_UNCHANGED3

    IMAGE_VALIDATION_SKIP_CAUSE_IMAGE_UNCHANGED indicates that the stage was

    skipped because the device has no image changes in the workspace.

    IMAGE_VALIDATION_SKIP_CAUSE_NO_PROPOSED_SOFTWARE4

    IMAGE_VALIDATION_SKIP_CAUSE_NO_PROPOSED_SOFTWARE indicates that the stage was

    skipped because the device has no proposed software changes in the workspace.

    Request

    Request enumerates the set of asynchronous operations that can be performed on a workspace.

    NameNumberDescription
    REQUEST_UNSPECIFIED0

    REQUEST_UNSPECIFIED describes unspecified request.

    REQUEST_START_BUILD1

    REQUEST_START_BUILD describes a request to start building a workspace. This kicks

    of a multi-stage operation to compile and validate the changes in a workspace (see

    BuildStage for more details).

    REQUEST_CANCEL_BUILD2

    REQUEST_CANCEL_BUILD describes a request to stop building a workspace.

    REQUEST_SUBMIT3

    REQUEST_SUBMIT describes a request to submit a workspace to the mainline. Before

    submission, some checks are made that can cause the request to fail. E.g., if there

    is a modified configuration for a non-streaming device in the workspace, then the

    request will fail. Once submitted, changes are applied and change controls are

    created (if necessary).

    REQUEST_ABANDON4

    REQUEST_ABANDON describes a request to abandon a workspace. This operation does

    not delete the workspace from the system, but closes it to any further updates.

    REQUEST_ROLLBACK5

    REQUEST_ROLLBACK describes a request to rollback a submitted workspace, undoing

    corresponding changes in the mainline.

    REQUEST_SUBMIT_FORCE6

    REQUEST_SUBMIT_FORCE describes a request to submit a workspace without making any

    checks that could normally cause the submission to fail. See REQUEST_SUBMIT for

    more details.

    REQUEST_REBASE7

    REQUEST_REBASE describes a request to rebase a workspace. This operation updates

    workspace state to reflect the latest mainline content, and re-applies workspace

    changes on top of that.

    ResponseCode

    ResponseCode is a code for a Response indicating a particular scenario.

    NameNumberDescription
    RESPONSE_CODE_UNSPECIFIED0

    RESPONSE_CODE_UNSPECIFIED indicates unspecified response code.

    RESPONSE_CODE_INACTIVE_DEVICES_EXIST1

    RESPONSE_CODE_INACTIVE_DEVICES_EXIST indicates that there are devices that have inactive

    streaming status.

    ResponseStatus

    ResponseStatus enumerates the set of execution statuses of a Response.

    NameNumberDescription
    RESPONSE_STATUS_UNSPECIFIED0

    RESPONSE_STATUS_UNSPECIFIED indicates unspecified response status.

    RESPONSE_STATUS_SUCCESS1

    RESPONSE_STATUS_SUCCESS indicates that the original Request was successful

    in its execution.

    RESPONSE_STATUS_FAIL2

    RESPONSE_STATUS_FAIL indicates that the original Request was unsuccessful

    in its execution.

    WorkspaceState

    WorkspaceState enumerates the general states of a workspace. Some of these states are derived as a result of executing a specific request on the workspace (see Request).

    NameNumberDescription
    WORKSPACE_STATE_UNSPECIFIED0

    WORKSPACE_STATE_UNSPECIFIED indicates unspecified workspace state.

    WORKSPACE_STATE_PENDING1

    WORKSPACE_STATE_PENDING indicates that the changes in the workspace are open and

    have not been submitted.

    WORKSPACE_STATE_SUBMITTED2

    WORKSPACE_STATE_SUBMITTED indicates that the changes in the workspace have been

    submitted to the mainline.

    WORKSPACE_STATE_ABANDONED3

    WORKSPACE_STATE_ABANDONED indicates that the workspace has been intentionally

    closed, and may no longer be updated.

    WORKSPACE_STATE_CONFLICTS4

    WORKSPACE_STATE_CONFLICTS indicates that the changes in the workspace are in

    conflict with the current state of the system.

    WORKSPACE_STATE_ROLLED_BACK5

    WORKSPACE_STATE_ROLLED_BACK indicates that the workspace was submitted, but

    has been rolled back (the changes have been undone).

    Top

    arista/workspace.v1/services.gen.proto

    MetaResponse

    Field NameTypeDescription
    timegoogle.protobuf.Timestamp

    Time holds the timestamp of the last item included in the metadata calculation.

    typearista.subscriptions.Operation

    Operation indicates how the value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    countgoogle.protobuf.UInt32Value

    Count is the number of items present under the conditions of the request.

    WorkspaceBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspace[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Workspace at end.

    * Each Workspace response is fully-specified (all fields set).

    * start: Returns the state of each Workspace at start, followed by updates until now.

    * Each Workspace response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Workspace at start, followed by updates

    until end.

    * Each Workspace response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    WorkspaceBatchedStreamResponse

    Field NameTypeDescription
    responsesWorkspaceStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    WorkspaceBuildBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceBuild[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each WorkspaceBuild at end.

    * Each WorkspaceBuild response is fully-specified (all fields set).

    * start: Returns the state of each WorkspaceBuild at start, followed by updates until now.

    * Each WorkspaceBuild response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each WorkspaceBuild at start, followed by updates

    until end.

    * Each WorkspaceBuild response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    WorkspaceBuildBatchedStreamResponse

    Field NameTypeDescription
    responsesWorkspaceBuildStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    WorkspaceBuildDetailsBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceBuildDetails[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each WorkspaceBuildDetails at end.

    * Each WorkspaceBuildDetails response is fully-specified (all fields set).

    * start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.

    * Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates

    until end.

    * Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    WorkspaceBuildDetailsBatchedStreamResponse

    Field NameTypeDescription
    responsesWorkspaceBuildDetailsStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    WorkspaceBuildDetailsRequest

    Field NameTypeDescription
    keyWorkspaceBuildDetailsKey

    Key uniquely identifies a WorkspaceBuildDetails instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceBuildDetailsResponse

    Field NameTypeDescription
    valueWorkspaceBuildDetails

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    WorkspaceBuildDetails instance in this response.

    WorkspaceBuildDetailsSomeRequest

    Field NameTypeDescription
    keysWorkspaceBuildDetailsKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceBuildDetailsSomeResponse

    Field NameTypeDescription
    valueWorkspaceBuildDetails

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    WorkspaceBuildDetailsStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceBuildDetails[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each WorkspaceBuildDetails at end.

    * Each WorkspaceBuildDetails response is fully-specified (all fields set).

    * start: Returns the state of each WorkspaceBuildDetails at start, followed by updates until now.

    * Each WorkspaceBuildDetails response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each WorkspaceBuildDetails at start, followed by updates

    until end.

    * Each WorkspaceBuildDetails response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    WorkspaceBuildDetailsStreamResponse

    Field NameTypeDescription
    valueWorkspaceBuildDetails

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this WorkspaceBuildDetails’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the WorkspaceBuildDetails value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    WorkspaceBuildRequest

    Field NameTypeDescription
    keyWorkspaceBuildKey

    Key uniquely identifies a WorkspaceBuild instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceBuildResponse

    Field NameTypeDescription
    valueWorkspaceBuild

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    WorkspaceBuild instance in this response.

    WorkspaceBuildSomeRequest

    Field NameTypeDescription
    keysWorkspaceBuildKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceBuildSomeResponse

    Field NameTypeDescription
    valueWorkspaceBuild

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    WorkspaceBuildStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceBuild[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each WorkspaceBuild at end.

    * Each WorkspaceBuild response is fully-specified (all fields set).

    * start: Returns the state of each WorkspaceBuild at start, followed by updates until now.

    * Each WorkspaceBuild response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each WorkspaceBuild at start, followed by updates

    until end.

    * Each WorkspaceBuild response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    WorkspaceBuildStreamResponse

    Field NameTypeDescription
    valueWorkspaceBuild

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this WorkspaceBuild’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the WorkspaceBuild value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    WorkspaceConfigBatchedStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each WorkspaceConfig at end.

    * Each WorkspaceConfig response is fully-specified (all fields set).

    * start: Returns the state of each WorkspaceConfig at start, followed by updates until now.

    * Each WorkspaceConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each WorkspaceConfig at start, followed by updates

    until end.

    * Each WorkspaceConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    max_messagesgoogle.protobuf.UInt32Value

    MaxMessages limits the maximum number of messages that can be contained in one batch.

    MaxMessages is required to be at least 1.

    The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT)

    INTERNAL_BATCH_LIMIT is set based on the maximum message size.

    WorkspaceConfigBatchedStreamResponse

    Field NameTypeDescription
    responsesWorkspaceConfigStreamResponse[…]

    Values are the values deemed relevant to the initiating request.

    The length of this structure is guaranteed to be between (inclusive) 1 and

    min(req.max_messages, INTERNAL_BATCH_LIMIT).

    WorkspaceConfigDeleteAllRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceConfig[…]

    PartialEqFilter provides a way to server-side filter a DeleteAll.

    This requires all provided fields to be equal to the response.

    A filtered DeleteAll will use GetAll with filter to find things to delete.

    WorkspaceConfigDeleteAllResponse

    Field NameTypeDescription
    typefmp.DeleteError

    This describes the class of delete error.

    A DeleteAllResponse is only sent when there is an error.

    errorgoogle.protobuf.StringValue

    This indicates the error message from the delete failure.

    keyWorkspaceKey

    This is the key of the WorkspaceConfig instance that failed to be deleted.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp when the key was being deleted.

    WorkspaceConfigDeleteRequest

    Field NameTypeDescription
    keyWorkspaceKey

    Key indicates which WorkspaceConfig instance to remove.

    This field must always be set.

    WorkspaceConfigDeleteResponse

    Field NameTypeDescription
    keyWorkspaceKey

    Key echoes back the key of the deleted WorkspaceConfig instance.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    deletion. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==DeletedAt will not include this instance.

    WorkspaceConfigDeleteSomeRequest

    Field NameTypeDescription
    keysWorkspaceKey[…]

    key contains a list of WorkspaceConfig keys to delete

    WorkspaceConfigDeleteSomeResponse

    WorkspaceConfigDeleteSomeResponse is only sent when there is an error.

    Field NameTypeDescription
    keyWorkspaceKey

    errorstring

    WorkspaceConfigRequest

    Field NameTypeDescription
    keyWorkspaceKey

    Key uniquely identifies a WorkspaceConfig instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceConfigResponse

    Field NameTypeDescription
    valueWorkspaceConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    WorkspaceConfig instance in this response.

    WorkspaceConfigSetRequest

    Field NameTypeDescription
    valueWorkspaceConfig

    WorkspaceConfig carries the value to set into the datastore.

    See the documentation on the WorkspaceConfig struct for which fields are required.

    WorkspaceConfigSetResponse

    Field NameTypeDescription
    valueWorkspaceConfig

    Value carries all the values given in the WorkspaceConfigSetRequest as well

    as any server-generated values.

    timegoogle.protobuf.Timestamp

    Time indicates the (UTC) timestamp at which the system recognizes the

    creation. The only guarantees made about this timestamp are:

    - it is after the time the request was received

    - a time-ranged query with StartTime==CreatedAt will include this instance.

    WorkspaceConfigSetSomeRequest

    Field NameTypeDescription
    valuesWorkspaceConfig[…]

    value contains a list of WorkspaceConfig values to write.

    It is possible to provide more values than can fit within either:

    - the maxiumum send size of the client

    - the maximum receive size of the server

    If this error occurs you must reduce the number of values sent.

    See gRPC “maximum message size” documentation for more information.

    WorkspaceConfigSetSomeResponse

    Field NameTypeDescription
    keyWorkspaceKey

    errorstring

    WorkspaceConfigSomeRequest

    Field NameTypeDescription
    keysWorkspaceKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceConfigSomeResponse

    Field NameTypeDescription
    valueWorkspaceConfig

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    WorkspaceConfigStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspaceConfig[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each WorkspaceConfig at end.

    * Each WorkspaceConfig response is fully-specified (all fields set).

    * start: Returns the state of each WorkspaceConfig at start, followed by updates until now.

    * Each WorkspaceConfig response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each WorkspaceConfig at start, followed by updates

    until end.

    * Each WorkspaceConfig response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    WorkspaceConfigStreamResponse

    Field NameTypeDescription
    valueWorkspaceConfig

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this WorkspaceConfig’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the WorkspaceConfig value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    WorkspaceRequest

    Field NameTypeDescription
    keyWorkspaceKey

    Key uniquely identifies a Workspace instance to retrieve.

    This value must be populated.

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceResponse

    Field NameTypeDescription
    valueWorkspace

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    timegoogle.protobuf.Timestamp

    Time carries the (UTC) timestamp of the last-modification of the

    Workspace instance in this response.

    WorkspaceSomeRequest

    Field NameTypeDescription
    keysWorkspaceKey[…]

    timegoogle.protobuf.Timestamp

    Time indicates the time for which you are interested in the data.

    If no time is given, the server will use the time at which it makes the request.

    WorkspaceSomeResponse

    Field NameTypeDescription
    valueWorkspace

    Value is the value requested.

    This structure will be fully-populated as it exists in the datastore. If

    optional fields were not given at creation, these fields will be empty or

    set to default values.

    errorgoogle.protobuf.StringValue

    Error is an optional field.

    It should be filled when there is an error in the GetSome process.

    timegoogle.protobuf.Timestamp

    WorkspaceStreamRequest

    Field NameTypeDescription
    partial_eq_filterWorkspace[…]

    PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

    This requires all provided fields to be equal to the response.

    While transparent to users, this field also allows services to optimize internal

    subscriptions if filter(s) are sufficiently specific.

    timearista.time.TimeBounds

    TimeRange allows limiting response data to within a specified time window.

    If this field is populated, at least one of the two time fields are required.

    For GetAll, the fields start and end can be used as follows:

    * end: Returns the state of each Workspace at end.

    * Each Workspace response is fully-specified (all fields set).

    * start: Returns the state of each Workspace at start, followed by updates until now.

    * Each Workspace response at start is fully-specified, but updates may be partial.

    * start and end: Returns the state of each Workspace at start, followed by updates

    until end.

    * Each Workspace response at start is fully-specified, but updates until end may

    be partial.

    This field is not allowed in the Subscribe RPC.

    WorkspaceStreamResponse

    Field NameTypeDescription
    valueWorkspace

    Value is a value deemed relevant to the initiating request.

    This structure will always have its key-field populated. Which other fields are

    populated, and why, depends on the value of Operation and what triggered this notification.

    timegoogle.protobuf.Timestamp

    Time holds the timestamp of this Workspace’s last modification.

    typearista.subscriptions.Operation

    Operation indicates how the Workspace value in this response should be considered.

    Under non-subscribe requests, this value should always be INITIAL. In a subscription,

    once all initial data is streamed and the client begins to receive modification updates,

    you should not see INITIAL again.

    WorkspaceBuildDetailsService

    Method NameRequest TypeResponse TypeDescription
    GetOneWorkspaceBuildDetailsRequestWorkspaceBuildDetailsResponse

    GetSomeWorkspaceBuildDetailsSomeRequestWorkspaceBuildDetailsSomeResponse stream

    GetAllWorkspaceBuildDetailsStreamRequestWorkspaceBuildDetailsStreamResponse stream

    SubscribeWorkspaceBuildDetailsStreamRequestWorkspaceBuildDetailsStreamResponse stream

    GetMetaWorkspaceBuildDetailsStreamRequestMetaResponse

    SubscribeMetaWorkspaceBuildDetailsStreamRequestMetaResponse stream

    GetAllBatchedWorkspaceBuildDetailsBatchedStreamRequestWorkspaceBuildDetailsBatchedStreamResponse stream

    SubscribeBatchedWorkspaceBuildDetailsBatchedStreamRequestWorkspaceBuildDetailsBatchedStreamResponse stream

    WorkspaceBuildService

    Method NameRequest TypeResponse TypeDescription
    GetOneWorkspaceBuildRequestWorkspaceBuildResponse

    GetSomeWorkspaceBuildSomeRequestWorkspaceBuildSomeResponse stream

    GetAllWorkspaceBuildStreamRequestWorkspaceBuildStreamResponse stream

    SubscribeWorkspaceBuildStreamRequestWorkspaceBuildStreamResponse stream

    GetMetaWorkspaceBuildStreamRequestMetaResponse

    SubscribeMetaWorkspaceBuildStreamRequestMetaResponse stream

    GetAllBatchedWorkspaceBuildBatchedStreamRequestWorkspaceBuildBatchedStreamResponse stream

    SubscribeBatchedWorkspaceBuildBatchedStreamRequestWorkspaceBuildBatchedStreamResponse stream

    WorkspaceConfigService

    Method NameRequest TypeResponse TypeDescription
    GetOneWorkspaceConfigRequestWorkspaceConfigResponse

    GetSomeWorkspaceConfigSomeRequestWorkspaceConfigSomeResponse stream

    GetAllWorkspaceConfigStreamRequestWorkspaceConfigStreamResponse stream

    SubscribeWorkspaceConfigStreamRequestWorkspaceConfigStreamResponse stream

    GetMetaWorkspaceConfigStreamRequestMetaResponse

    SubscribeMetaWorkspaceConfigStreamRequestMetaResponse stream

    SetWorkspaceConfigSetRequestWorkspaceConfigSetResponse

    SetSomeWorkspaceConfigSetSomeRequestWorkspaceConfigSetSomeResponse stream

    DeleteWorkspaceConfigDeleteRequestWorkspaceConfigDeleteResponse

    DeleteSomeWorkspaceConfigDeleteSomeRequestWorkspaceConfigDeleteSomeResponse stream

    DeleteAllWorkspaceConfigDeleteAllRequestWorkspaceConfigDeleteAllResponse stream

    GetAllBatchedWorkspaceConfigBatchedStreamRequestWorkspaceConfigBatchedStreamResponse stream

    SubscribeBatchedWorkspaceConfigBatchedStreamRequestWorkspaceConfigBatchedStreamResponse stream

    WorkspaceService

    Method NameRequest TypeResponse TypeDescription
    GetOneWorkspaceRequestWorkspaceResponse

    GetSomeWorkspaceSomeRequestWorkspaceSomeResponse stream

    GetAllWorkspaceStreamRequestWorkspaceStreamResponse stream

    SubscribeWorkspaceStreamRequestWorkspaceStreamResponse stream

    GetMetaWorkspaceStreamRequestMetaResponse

    SubscribeMetaWorkspaceStreamRequestMetaResponse stream

    GetAllBatchedWorkspaceBatchedStreamRequestWorkspaceBatchedStreamResponse stream

    SubscribeBatchedWorkspaceBatchedStreamRequestWorkspaceBatchedStreamResponse stream

    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/delete/index.html b/rpcs/delete/index.html index 17d1a397..b394c857 100644 --- a/rpcs/delete/index.html +++ b/rpcs/delete/index.html @@ -1,7 +1,7 @@ -Delete :: Arista Networks FMP APIs -

    Delete

    Delete deletes a resource and returns the time the delete became effective.

    The Key field is required to be fully-specified because Delete needs to identify exactly-one @@ -24,4 +24,4 @@ google.protobuf.Timestamp time = 2; };

    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/errors/index.html b/rpcs/errors/index.html index 16688a9a..fda7eedb 100644 --- a/rpcs/errors/index.html +++ b/rpcs/errors/index.html @@ -1,7 +1,7 @@ -Error Handling :: Arista Networks FMP APIs -

    Error Handling

    Errors returned by the API follow the gRPC status code guidelines. This provides many niceties:

    1. Language-native idioms (exceptions, return codes, etc.)
    2. Easily mappable to HTTP error codes (used for HTTP access to RPCs)
    3. Uses metadata rather than a global schema for more detailed errors

    Example: Go

    Unary RPCs

    resp, err := example.GetOne(ExampleConfigRequest{Key: key})
    @@ -37,4 +37,4 @@
       print('GetAll failed: {0}: {1}'.format(e.code(), e.details()))
       raise e
     
    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/filtering/index.html b/rpcs/filtering/index.html index e247ae8e..9aa79058 100644 --- a/rpcs/filtering/index.html +++ b/rpcs/filtering/index.html @@ -1,7 +1,7 @@ -Filtering :: Arista Networks FMP APIs -

    Filtering

    Filtering is provided through a default and an (optional) additional model-specific mechanism. By default, all models support “partial equality filtering”. Models that provide a custom filtering method will document this filter-message in its model documentation.

    Partial-Equality Filters

    Unless intentionally disabled (and sufficiently documented), services provide a default filtering mechanism. The input type is the same as the model you are filtering, and if you wish to filter on a given field you set that field to non-nil.

    Given:

    • response: the model that may or may not be sent to the client
    • filter: a single filter model (request allows giving multiple)

    For every response in the stream, we iterate the filter list. If the filter has a field set to non-null we compare it to the response’s field value. If the values are equal we continue to the next field in the filter. If the field values do not match we “fail” the filter and move on to the next filter in the list.

    If a response fails all filters, it is not sent to the client.

    If a response succeeds any filter, it is sent to the client.

    Service-Specific Filtering

    Models are allowed to also contain an “implementation specific” filter which can be more targeted, featureful, or otherwise helpful.

    This filter type will be defined in the protobuf definition. This type should be well documented in the protobuf as well as generated documentation.

    message CustomFilteredStreamRequest {
    @@ -12,4 +12,4 @@
     
       ...
     
    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/getall/index.html b/rpcs/getall/index.html index 26660204..995ddd98 100644 --- a/rpcs/getall/index.html +++ b/rpcs/getall/index.html @@ -1,7 +1,7 @@ -GetAll :: Arista Networks FMP APIs -

    GetAll

    GetAll fetches (and optionally filters) all resource instances.

    For the filtering options available, see the Filtering section. @@ -33,4 +33,4 @@ google.protobuf.Timestamp end = 2; }

    The fields start and end can be used in the following combinations:

    • end: returns the state of resources at end.
      • responds with only fully-specified models
    • start: returns the state of resources at start and updates until now.
      • returns all fully-specified models as of the start time, and then all subsequent changes/partials/diffs
    • start and end: returns the state of resources at start as well as any changes until end.
      • same semantics as start alone, but only changes up to the end time
    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/getone/index.html b/rpcs/getone/index.html index 65e33d64..44c729d3 100644 --- a/rpcs/getone/index.html +++ b/rpcs/getone/index.html @@ -1,7 +1,7 @@ -GetOne :: Arista Networks FMP APIs -

    GetOne

    GetOne returns a single instance of a resource.

    The Key field is required to be fully-specified because GetOne needs to identify exactly-one @@ -33,4 +33,4 @@ google.protobuf.Timestamp time = 2; };

    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/index.html b/rpcs/index.html index 4d29da52..e88a43b3 100644 --- a/rpcs/index.html +++ b/rpcs/index.html @@ -1,7 +1,7 @@ -Uniform RPCs :: Arista Networks FMP APIs -

    Uniform RPCs

    As stated previously, APIs are accesible over gRPC with a standardized set of RPCs.

    These methods will behave consistently across models.

    Read Methods

    All readable models have the following RPC signatures:

    service ExampleConfigService {
    @@ -14,4 +14,4 @@
       rpc Delete (ExampleConfigDeleteRequest) returns (ExampleConfigDeleteResponse);
     }
     

    The ExampleConfigSetRequest, ExampleConfigSetResponse, ExampleConfigDeleteRequest, and ExampleConfigDeleteResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/set/index.html b/rpcs/set/index.html index 90dcdf1a..ee75c381 100644 --- a/rpcs/set/index.html +++ b/rpcs/set/index.html @@ -1,7 +1,7 @@ -Set :: Arista Networks FMP APIs -

    Set

    Set updates a resource. Updates can be whole or partial (see: nullable fields) using only fields populated in the request.

    The Key field is required to be fully-specified because Set needs to identify exactly-one @@ -192,4 +192,4 @@ } }

    \ No newline at end of file +
    \ No newline at end of file diff --git a/rpcs/subscribe/index.html b/rpcs/subscribe/index.html index e62a7634..359c9e9d 100644 --- a/rpcs/subscribe/index.html +++ b/rpcs/subscribe/index.html @@ -1,7 +1,7 @@ -Subscribe :: Arista Networks FMP APIs -

    Subscribe

    Subscribe first returns the initial state (fully-specified messages) and then any received updates.

    The first messages received are effectively the result of a GetAll). @@ -10,4 +10,4 @@ arista.subscriptions.Operation enum field on the StreamResponse type for the given resource. This enum can be found here.

    The flow of messages follows these steps:

    1. N messages with arista.subscriptions.Operation::INITIAL
    2. One message with arista.subscriptions.Operation::INITIAL_SYNC_COMPLETE
      • this signifies the transition from initial data to udpates
      • prevents the client from needing to hold the last operation to find transition point
    3. N messages with either:
      • arista.subscriptions.Operation::UPDATED
      • arista.subscriptions.Operation::DELETED
      • these can happen in any order or frequency until the subscription/connection is closed

    RPC Definition

    The protobuf definition of GetAll is defined as such (for ExampleConfig):

    rpc Subscribe (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse);
     
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 160956a7..7555913f 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,7 +1,7 @@ -Tags :: Arista Networks FMP APIs -

    taxonomy :: -Tags

      \ No newline at end of file +Tags
      \ No newline at end of file