Class: Infrawrench::OwnershipNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.ownership

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ OwnershipNamespace

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of OwnershipNamespace.

Parameters:



9926
9927
9928
# File 'lib/infrawrench/client.rb', line 9926

def initialize(transport)
  @transport = transport
end

Instance Method Details

#delete(resource_id:, org_id: nil, request_options: nil) ⇒ nil

Clear a resource's ownership

Removes the ownership record. The resource itself is untouched.

Requires permission: resources:write.

DELETE /api/org/orgId/ownership

Raises on 400: Bad request

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • resource_id (String)
  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • resource_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (nil)

    This endpoint returns no content.

Raises:



9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
# File 'lib/infrawrench/client.rb', line 9948

def delete(resource_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "DELETE",
    path: "/api/org/{orgId}/ownership",
    path_params: { "orgId" => org_id },
    query: { "resourceId" => resource_id },
    accept: :empty,
    request_options: request_options
  )
end

#get(org_id: nil, request_options: nil) ⇒ Hash

List resource ownership records

Every ownership record in the organization — owner, purpose and authorizing ticket, per resource. Only resources somebody has recorded something about appear; an absent record means the resource is unowned.

Requires permission: resources:read.

GET /api/org/orgId/ownership

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ResourceOwnershipListResponse — see sig/infrawrench/sdk.rbs.

Raises:



9975
9976
9977
9978
9979
9980
9981
9982
# File 'lib/infrawrench/client.rb', line 9975

def get(org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/ownership",
    path_params: { "orgId" => org_id },
    request_options: request_options
  )
end

#members(org_id: nil, request_options: nil) ⇒ Hash

List people an owner can be set to

Org members, as a minimal id/name/email projection for the owner picker. Requires only resources:read, deliberately not team:read: recording who owns a resource must not be reserved for whoever can also read roles and membership.

Requires permission: resources:read.

GET /api/org/orgId/ownership/members

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as OwnerCandidateListResponse — see sig/infrawrench/sdk.rbs.

Raises:



10001
10002
10003
10004
10005
10006
10007
10008
# File 'lib/infrawrench/client.rb', line 10001

def members(org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/ownership/members",
    path_params: { "orgId" => org_id },
    request_options: request_options
  )
end

#resource(resource_id:, org_id: nil, request_options: nil) ⇒ Hash

Get one resource's ownership

The ownership record for a single resource, or null when none is recorded.

Requires permission: resources:read.

GET /api/org/orgId/ownership/resource

Raises on 400: Bad request

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • resource_id (String)
  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • resource_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ResourceOwnershipEnvelope — see sig/infrawrench/sdk.rbs.

Raises:



10027
10028
10029
10030
10031
10032
10033
10034
10035
# File 'lib/infrawrench/client.rb', line 10027

def resource(resource_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/ownership/resource",
    path_params: { "orgId" => org_id },
    query: { "resourceId" => resource_id },
    request_options: request_options
  )
end

#update(org_id: nil, body: nil, request_options: nil) ⇒ Hash

Set a resource's ownership

Upsert keyed by resourceId — ownership is a property of the resource, so there is no separate create and update. Omitted fields keep their value and null clears one. Clearing every field removes the record entirely and the response is null, which is the new truth rather than an empty record. An ownerUserId must be a member of this organization: ownership that looks routable but reaches nobody is worse than none.

Requires permission: resources:write.

PUT /api/org/orgId/ownership

Raises on 400: Bad request

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • body (Hash, nil) (defaults to: nil)

    Request body, shaped as ResourceOwnershipPatch.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • body: (resource_ownership_patch, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ResourceOwnership & Hash | nil — see sig/infrawrench/sdk.rbs.

Raises:



10061
10062
10063
10064
10065
10066
10067
10068
10069
# File 'lib/infrawrench/client.rb', line 10061

def update(org_id: nil, body: nil, request_options: nil)
  @transport.request(
    http_method: "PUT",
    path: "/api/org/{orgId}/ownership",
    path_params: { "orgId" => org_id },
    body: body,
    request_options: request_options
  )
end