UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

580 lines (579 loc) 22.4 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; import { aws_iam as iam } from "aws-cdk-lib"; /** * Statement provider for service [health-agent](https://docs.aws.amazon.com/service-authorization/latest/reference/list_connecthealth.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class HealthAgent extends PolicyStatement { servicePrefix: string; /** * Grants permission to activate a subscription to enable billing for a user * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ActivateSubscription.html */ toActivateSubscription(): this; /** * Grants permission to create a new domain for managing HealthAgent resources * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_CreateDomain.html */ toCreateDomain(): this; /** * Grants permission to create a new subscription within a domain for billing and user management * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_CreateSubscription.html */ toCreateSubscription(): this; /** * Grants permission to deactivate a subscription to stop billing for a user * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_DeactivateSubscription.html */ toDeactivateSubscription(): this; /** * Grants permission to delete a domain and all associated resources * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_DeleteDomain.html */ toDeleteDomain(): this; /** * Grants permission to retrieve information about a domain * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetDomain.html */ toGetDomain(): this; /** * Grants permission to retrieve aggregated analytics for a domain * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetDomainAnalytics.html */ toGetDomainAnalytics(): this; /** * Grants permission to retrieve details about an existing Medical Scribe listening session * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetMedicalScribeListeningSession.html */ toGetMedicalScribeListeningSession(): this; /** * Grants permission to get details of a started patient insights job * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetPatientInsightsJob.html */ toGetPatientInsightsJob(): this; /** * Grants permission to retrieve information about a subscription * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetSubscription.html */ toGetSubscription(): this; /** * Grants permission to list domains for a given account * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListDomains.html */ toListDomains(): this; /** * Grants permission to list session records for a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListSessionRecords.html */ toListSessionRecords(): this; /** * Grants permission to list all subscriptions within a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListSubscriptions.html */ toListSubscriptions(): this; /** * Grants permission to list the tags for the specified resource * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to start a new Medical Scribe listening session for real-time audio transcription * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_StartMedicalScribeListeningSession.html */ toStartMedicalScribeListeningSession(): this; /** * Grants permission to start a new patient insights job * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_StartPatientInsightsJob.html */ toStartPatientInsightsJob(): this; /** * Grants permission to add the specified tags to the specified resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to remove the tags identified by the TagKeys list from a resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to cancel an appointment * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCancelAppointment(): this; /** * Grants permission to create a new agent with an initial version in DRAFT state * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCreateAgent(): this; /** * Grants permission to create a new integration for a domain * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCreateIntegration(): this; /** * Grants permission to create a new session with specified agent configurations * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCreateSession(): this; /** * Grants permission to delete an agent configuration and all its versions * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toDeleteAgent(): this; /** * Grants permission to delete an integration * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toDeleteIntegration(): this; /** * Grants permission to retrieve an agent configuration, defaulting to the most recent version if not specified * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetAgent(): this; /** * Grants permission to retrieve the care team provider of a patient * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetCareTeamProvider(): this; /** * Grants permission to get an existing integration * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetIntegration(): this; /** * Grants permission to retrieve patient information * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetPatient(): this; /** * Grants permission to retrieve practitioner information * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetPractitioner(): this; /** * Grants permission to retrieve structured session context including attributes and collected data * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetSessionContext(): this; /** * Grants permission to invoke an agent within a session with streaming response support * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toInvokeAgent(): this; /** * Grants permission to list all agents in a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListAgents(): this; /** * Grants permission to list available appointment slots * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListAppointmentSlots(): this; /** * Grants permission to list integrations for a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListIntegrations(): this; /** * Grants permission to list patient appointments * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListPatientAppointments(): this; /** * Grants permission to list patient insurance coverages * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListPatientInsuranceCoverages(): this; /** * Grants permission to list patient medications * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListPatientMedications(): this; /** * Grants permission to retrieve active providers available for scheduling appointments with a patient * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListProviders(): this; /** * Grants permission to match a patient * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toMatchPatient(): this; /** * Grants permission to publish an agent configuration version * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toPublishAgent(): this; /** * Grants permission to reschedule an appointment * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toRescheduleAppointment(): this; /** * Grants permission to reset a patient MyChart password via email or SMS * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toResetPassword(): this; /** * Grants permission to schedule an appointment for a patient * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toScheduleAppointment(): this; /** * Grants permission to submit a medication renewal for a patient * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toSubmitMedicationRenewal(): this; /** * Grants permission to update a draft agent configuration, creating a new draft version if none exists * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toUpdateAgent(): this; /** * Grants permission to update an existing integration * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toUpdateIntegration(): this; /** * Grants permission to update session attributes such as departmentId and appointmentType * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toUpdateSession(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type Agent to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/agent-customization.html * * @param domainId - Identifier for the domainId. * @param agentId - Identifier for the agentId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onAgent(domainId: string, agentId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Domain to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/setting-up.html#setting-up-create-domain * * @param domainId - Identifier for the domainId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onDomain(domainId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Integration to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/configuring-testing-pe-agents.html * * @param domainId - Identifier for the domainId. * @param integrationId - Identifier for the integrationId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onIntegration(domainId: string, integrationId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type PatientInsightsJob to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-insights.html * * @param domainId - Identifier for the domainId. * @param jobId - Identifier for the jobId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onPatientInsightsJob(domainId: string, jobId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Session to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html * * @param domainId - Identifier for the domainId. * @param sessionId - Identifier for the sessionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSession(domainId: string, sessionId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Subscription to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/ambient-documentation.html#al-subscription-management * * @param domainId - Identifier for the domainId. * @param subscriptionId - Identifier for the subscriptionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSubscription(domainId: string, subscriptionId: string, account?: string, region?: string, partition?: string): this; /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/connecthealth/latest/userguide/security-iam-service-with-iam.htmlsecurity-iam-service-with-iam.html#security-iam-service-with-iam-tags * * Applies to actions: * - .toCreateDomain() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by the tags associated with the resource * * https://docs.aws.amazon.com/connecthealth/latest/userguide/security-iam-service-with-iam.htmlsecurity-iam-service-with-iam.html#security-iam-service-with-iam-tags * * Applies to actions: * - .toActivateSubscription() * - .toCreateSubscription() * - .toDeactivateSubscription() * - .toDeleteDomain() * - .toGetDomain() * - .toGetDomainAnalytics() * - .toGetMedicalScribeListeningSession() * - .toGetPatientInsightsJob() * - .toGetSubscription() * - .toListSessionRecords() * - .toListSubscriptions() * - .toListTagsForResource() * - .toStartMedicalScribeListeningSession() * - .toStartPatientInsightsJob() * - .toTagResource() * - .toUntagResource() * - .toCancelAppointment() * - .toCreateAgent() * - .toCreateIntegration() * - .toCreateSession() * - .toDeleteAgent() * - .toDeleteIntegration() * - .toGetAgent() * - .toGetCareTeamProvider() * - .toGetIntegration() * - .toGetPatient() * - .toGetPractitioner() * - .toGetSessionContext() * - .toInvokeAgent() * - .toListAgents() * - .toListAppointmentSlots() * - .toListIntegrations() * - .toListPatientAppointments() * - .toListPatientInsuranceCoverages() * - .toListPatientMedications() * - .toListProviders() * - .toMatchPatient() * - .toPublishAgent() * - .toRescheduleAppointment() * - .toResetPassword() * - .toScheduleAppointment() * - .toSubmitMedicationRenewal() * - .toUpdateAgent() * - .toUpdateIntegration() * - .toUpdateSession() * * Applies to resource types: * - Agent * - Domain * - Integration * - PatientInsightsJob * - Session * - Subscription * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by the tag keys that are passed in the request * * https://docs.aws.amazon.com/connecthealth/latest/userguide/security-iam-service-with-iam.htmlsecurity-iam-service-with-iam.html#security-iam-service-with-iam-tags * * Applies to actions: * - .toCreateDomain() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value: string | string[], operator?: Operator | string): this; /** * Statement provider for service [health-agent](https://docs.aws.amazon.com/service-authorization/latest/reference/list_connecthealth.html). * */ constructor(props?: iam.PolicyStatementProps); }